成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

快速排序的總結(jié)

快速排序的思想是分而治之,利用遞歸達(dá)到快速排序的效果

創(chuàng)新互聯(lián)公司主營(yíng)康縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開(kāi)發(fā),康縣h5微信小程序定制開(kāi)發(fā)搭建,康縣網(wǎng)站營(yíng)銷推廣歡迎康縣等地區(qū)企業(yè)咨詢

首先要選定一個(gè)基準(zhǔn)數(shù),一般選擇最左邊的數(shù)為基準(zhǔn)數(shù),排序的目標(biāo)就是讓這個(gè)基準(zhǔn)數(shù)的左邊全小于這個(gè)基準(zhǔn)數(shù),右邊全大于這個(gè)基準(zhǔn)數(shù)。然后以這個(gè)基準(zhǔn)數(shù)為分隔線,在左右兩側(cè)再次調(diào)用這個(gè)排序的函數(shù),直到全部有序。簡(jiǎn)述過(guò)程:

以  8 9 4 7 2 6 首選

1. 選擇兩個(gè)哨兵 i,j 分別指向8,6,基準(zhǔn)數(shù)為8

2.從j哨兵開(kāi)始,因?yàn)閖指向的6小于基準(zhǔn)數(shù)8,不符合j指向的數(shù)都要大于8的要求,所以將j指向的數(shù)覆蓋i指向的數(shù),同時(shí)i指向的數(shù)變成9

6 9 4 7 2 6

3.此時(shí)i指向9大于基準(zhǔn)數(shù)8,不符合基準(zhǔn)數(shù)左邊的都要小于基準(zhǔn)數(shù),右邊的都要大于基準(zhǔn)數(shù),所以i指向的數(shù)覆蓋j指向的數(shù),同時(shí)j--,j指向7

6 9 4 7 2 9

重復(fù)以上步驟,直到 哨兵i 和 哨兵j相遇

4.最后一步將基準(zhǔn)值放到中間 

代碼實(shí)現(xiàn):

void QuickSort(int a[], int low, int high)

{

int i = low, j = high;//每次i,j都指向最低一個(gè)元素,和最高一個(gè)元素

int temp = a[low];//每次選擇最左邊的數(shù)為基準(zhǔn)數(shù)

while(i < j)//每次循環(huán)結(jié)束的條件是 i == j

{

while(i < j && a[j] >= temp) j--;//先從左邊開(kāi)始,找到小于基準(zhǔn)數(shù)的數(shù)

if(i < j){

a[i] = a[j];

i++;

}//和i指向的數(shù)交換

while(i < j && a[i] <= temp) i++;//找到基準(zhǔn)數(shù)左邊大于基準(zhǔn)數(shù)的數(shù)

if(i < j){

a[j] = a[i];

j--;

}//換到基準(zhǔn)數(shù)右邊去

}//以上執(zhí)行完后,將基準(zhǔn)數(shù)放到中間

a[i] = temp;

if(low < i)//如果是基準(zhǔn)數(shù)左邊的話

     QuickSort(a, low, i-1);//將最高位i-1

if(i < high)//如果是基準(zhǔn)數(shù)右邊的話

QuickSort(a, j+1, high);//最低位為基準(zhǔn)位+1

}


分享標(biāo)題:快速排序的總結(jié)
分享網(wǎng)址:http://jinyejixie.com/article48/ggedep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)響應(yīng)式網(wǎng)站、ChatGPT軟件開(kāi)發(fā)、關(guān)鍵詞優(yōu)化外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
崇礼县| 绵竹市| 榆中县| 镶黄旗| 湘阴县| 凤台县| 潢川县| 秦皇岛市| 建德市| 徐州市| 安康市| 恭城| 阿勒泰市| 台东市| 东平县| 肥东县| 枝江市| 萨嘎县| 长宁区| 福贡县| 平潭县| 安化县| 尖扎县| 丹阳市| 益阳市| 嘉禾县| 天门市| 梧州市| 乐陵市| 阳春市| 吉首市| 新干县| 平湖市| 扎鲁特旗| 衡阳市| 阜南县| 鹤岗市| 镇沅| 中宁县| 乳山市| 新乐市|