最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

算法 - 快速排序 詳細(xì)講解!Java實現(xiàn)+復(fù)雜度計算【微軟程序員阿婧的基礎(chǔ)入門

2023-06-09 08:38 作者:_Le_Tian  | 我要投稿

C語言實現(xiàn)QuickSort

// ----- 快速排序 -----


int Partition(SqList &L, int low, int high)

{ // 交換順序表L中子序列L.r[low..high]的記錄,使樞軸記錄到位,并返回其所在位置,此時,在它之前(后)的記錄均不大(?。┯谒?/p>

? ? KeyType pivotkey;

? ? L.r[0] = L.r[low]; ? ? ? // 用子表的第一個記錄作為樞軸記錄

? ? pivotkey = L.r[low].key; // 樞軸記錄關(guān)鍵字

? ? while (low < high)

? ? { // 從表的兩端交替地向中間掃描

? ? ? ? while (low < high && L.r[high].key >= pivotkey)

? ? ? ? {

? ? ? ? ? ? --high;

? ? ? ? }

? ? ? ? L.r[low] = L.r[high]; // 將比樞軸記錄小的記錄移到低端

? ? ? ? while (low < high && L.r[low].key <= pivotkey)

? ? ? ? {

? ? ? ? ? ? ++low;

? ? ? ? }

? ? ? ? L.r[high] = L.r[low]; // 將比樞軸記錄大的記錄移到高端

? ? }

? ? L.r[low] = L.r[0]; // 樞軸記錄到位

? ? return low; ? ? ? ?// 返回樞軸位置

}


void QSort(SqList &L, int low, int high)

{ // 對順序表L中的子序列L.r[low..high]進(jìn)行快速排序

? ? int pivotloc;

? ? if (low < high)

? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 待排序列長度大于1

? ? ? ? pivotloc = Partition(L, low, high); // 將L.r[low..high]一分為二

? ? ? ? QSort(L, low, pivotloc - 1); ? ? ? ?// 對低子表遞歸排序,pivotloc是樞軸位置

? ? ? ? QSort(L, pivotloc + 1, high); ? ? ? // 對高子表遞歸排序

? ? }

}


void QuickSort(SqList &L)

{ // 對順序表L進(jìn)行快速排序

? ? QSort(L, 1, L.length);

}

算法 - 快速排序 詳細(xì)講解!Java實現(xiàn)+復(fù)雜度計算【微軟程序員阿婧的基礎(chǔ)入門的評論 (共 條)

分享到微博請遵守國家法律
天门市| 岱山县| 宝坻区| 石家庄市| 澄城县| 车致| 山阴县| 乡城县| 常德市| 乃东县| 合作市| 金溪县| 安陆市| 宜兰县| 炎陵县| 临沂市| 府谷县| 阿尔山市| 紫阳县| 新河县| 新巴尔虎右旗| 冀州市| 眉山市| 东光县| 西乌珠穆沁旗| 筠连县| 鸡东县| 宜兰市| 东乌珠穆沁旗| 嘉兴市| 敦煌市| 哈巴河县| 额济纳旗| 宝鸡市| 乌拉特中旗| 凤台县| 怀宁县| 砀山县| 辉县市| 尼木县| 滕州市|