?? 習題-35.c
字號:
//本程序只給出了算法思想
//讀者可以自己完善本程序
void BiInsert_Sort(SqList &L)//二路插入排序的算法
{
int d[MAXSIZE]; //輔助存儲
x=L.r .key;d =x;
first=1;final=1;
for(i=2;i<=L.length;i++)
{
if(L.r[i].key>=x) //插入前部
{
for(j=final;d[j]>L.r[i].key;j--)
d[j+1]=d[j];
d[j+1]=L.r[i].key;
final++;
}
else //插入后部
{
for(j=first;d[j]<L.r[i].key;j++)
d[j-1]=d[j];
d[(j-2)%MAXSIZE+1]=L.r[i].key;
first=(first-2)%MAXSIZE+1; //這種形式的表達式是為了兼顧first=1的情況
}
}//for
for(i=first,j=1;d[i];i=i%MAXSIZE+1,j++)//將序列復制回去
L.r[j].key=d[i];
}//BiInsert_Sort
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -