国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C/C++實(shí)現(xiàn)快速排序的方法

2020-05-23 14:19:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了C/C++實(shí)現(xiàn)快速排序的方法,這幾天在找工作,被問(wèn)到快速排序,結(jié)果想不出來(lái)快速排序怎么弄的;回來(lái)搜索了一下,現(xiàn)在記錄下來(lái),方便以后查看。
 
 

快速排序不會(huì)直接得到最終結(jié)果,只會(huì)把比k大和比k小的數(shù)分到k的兩邊。(你可以想象一下i和j是兩個(gè)機(jī)器人,數(shù)據(jù)就是大小不一的石頭,先取走i前面的石頭留出回旋的空間,然后他們輪流分別挑選比k大和比k小的石頭扔給對(duì)面,最后在他們中間把取走的那塊石頭放回去,于是比這塊石頭大的全扔給了j那一邊,小的全扔給了i那一邊。只是這次運(yùn)氣好,扔完一次剛好排整齊。)為了得到最后結(jié)果,需要再次對(duì)下標(biāo)2兩邊的數(shù)組分別執(zhí)行此步驟,然后再分解數(shù)組,直到數(shù)組不能再分解為止(只有一個(gè)數(shù)據(jù)),才能得到正確結(jié)果。 —— 取自百度百科(鏈接)

C/C++ 實(shí)現(xiàn):

 

復(fù)制代碼代碼如下:

void quick_sort(int* a, int low, int high){ if (low >= high) { 
    return; 
} int first = low; int last = high; int key = a[first]; while (first < last) { 
    while (first < last && a[last] >= key) { 
        --last; 
    } 
    a[first] = a[last]; 
  
    while (first < last && a[first] <= key) { 
        ++first; 
    } 
    a[last] = a[first]; 

a[first] = key; 
quick_sort(a, low, first-1); 
quick_sort(a, first+1, high); 
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴楚县| 洞头县| 五原县| 贵德县| 封开县| 东丰县| 泉州市| 石棉县| 黑龙江省| 新平| 清水河县| 西畴县| 法库县| 瓦房店市| 东至县| 台安县| 九龙坡区| 梨树县| 金沙县| 蕲春县| 碌曲县| 海南省| 土默特左旗| 于田县| 高唐县| 伊宁县| 丰镇市| 乌鲁木齐县| 灌阳县| 芒康县| 大洼县| 汉中市| 花垣县| 濮阳市| 阳新县| 大厂| 江山市| 临泉县| 信宜市| 莱西市| 汕尾市|