?? algo1006a.cpp
字號:
int Partition(SqList &L, int low, int high) { // 算法10.6(a)
// 交換順序表L中子序列L.r[low..high]的記錄,使樞軸記錄到位,
// 并返回其所在位置,此時,在它之前(后)的記錄均不大(小)于它
KeyType pivotkey;
RedType temp;
pivotkey = L.r[low].key; // 用子表的第一個記錄作樞軸記錄
while (low<high) { // 從表的兩端交替地向中間掃描
while (low<high && L.r[high].key>=pivotkey) --high;
temp=L.r[low];
L.r[low]=L.r[high];
L.r[high]=temp; // 將比樞軸記錄小的記錄交換到低端
while (low<high && L.r[low].key<=pivotkey) ++low;
temp=L.r[low];
L.r[low]=L.r[high];
L.r[high]=temp; // 將比樞軸記錄大的記錄交換到高端
}
return low; // 返回樞軸所在位置
} // Partition
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -