?? algo1002.cpp
字號:
void BInsertSort(SqList &L) { // 算法10.2
// 對順序表L作折半插入排序。
int i,j,high,low,m;
for (i=2; i<=L.length; ++i) {
L.r[0] = L.r[i]; // 將L.r[i]暫存到L.r[0]
low = 1; high = i-1;
while (low<=high) { // 在r[low..high]中折半查找有序插入的位置
m = (low+high)/2; // 折半
if (LT(L.r[0].key, L.r[m].key)) high = m-1; // 插入點在低半區
else low = m+1; // 插入點在高半區
}
for (j=i-1; j>=high+1; --j) L.r[j+1] = L.r[j]; // 記錄后移
L.r[high+1] = L.r[0]; // 插入
}
} // BInsertSort
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -