国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 赣榆县| 蓝山县| 邵武市| 双鸭山市| 济阳县| 和静县| 綦江县| 青岛市| 上林县| 桓仁| 宝清县| 开封市| 古丈县| 盐亭县| 沾益县| 兴安县| 蕲春县| 西平县| 闽清县| 公安县| SHOW| 石屏县| 登封市| 乌鲁木齐县| 塔城市| 郧西县| 巴中市| 陵川县| 汶上县| 华宁县| 衡南县| 湛江市| 长宁县| 卢龙县| 达尔| 亚东县| 罗山县| 永川市| 门头沟区| 延津县| 台北市|