电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

第六部分 内部排序[2]


发布日期:2022/7/6
 

(二)插入排序

直接插入排序

void InsertSort(Sqlist &L){//对顺序表L作直接插入排序

for(i=;i<=Llength;++i)

if(LT(Lr[i]keyLr[i]key))

{//<需将Lr[i]插入有序子表复制为哨兵

Lr[]=Lr[i];

Lr[i]=Lr[i];

for(j=i;LT(Lr[]keyLr[j]key);j)

Lr[j+]=Lr[];

}

}//InsertSort

折半插入排序

void BinsertSort(SqList &L){//对顺序表L作折半插入排序

for(i=;i<=Llength;++i){

Lr[]=Lr[i];

low=; high=i;

while(low<=high){

m=(low+high)/;

if(LT(Lr[]lkeyLr[m]key))

high=m;

else low=m+;

}//while

for(j=i;j>=high+;j)

Lr[j+]=Lr[j]j;

Lf[high+]=Lr[];

}//for

}//BinsertSort

返回《数据结构》考研复习精编

[] [] [] [] [] []

上一篇:第六部分 内部排序[3]

下一篇:第六部分 内部排序[1]