:..袈直接插入排序基本算法羇#include<>芁#include<>肀#include<>艿constintn=100000。莄typedefstruct{莄 intkey。肀}RedType。莅typedefstruct{膆RedType*r。//r[n+1]。肂intlength。膀}SqList。螆intrandom(>。薄voidInsertSort(SqList&L>。袁voidmain(>芀{ SqListL。芇 =newRedType[n+1]。芆 =n。袄 for(inti=1。i<=n。i++> [i].key=random(>。荿 longt1,t2。 蚈 t1=clock(>。螄 InsertSort(L>。蚃 t2=clock(>。葿 cout<<"时间:"<<float(t2-t1>/CLK_TCK<<endl。聿}蒆intrandom(>蒂{intA=48271。蕿 intM=2147483646。膆 intQ=M/A。羄 intR=M%A。膁 staticintx=1。 intx1。虿 x1=A*(x%Q>-R*(x/Q>。薇 if(x1>=0>x=x1。蚆 else x=x1+M。芄 returnx。虿}羈voidInsertSort(SqList&L>//直接插入排序__基本算法:肃{//对顺序表L作直接插入排序。羃 for(inti=2。i<=。++i>蝿 if(([i].key<[i-1].key>莈 {//"<",[i]插入有序子表螅 [0]=[i]。//复制为哨兵螁 [i]=[i-1]。衿 for(intj=i-2。([0].key<[j].key>。--j>蝿 [j+1]=[j]。//记录后移 [j+1]=[0]。//插入到正确位置b5E2RGbCAP芃 }螄}//InsertSort*/罿改进1袆#include<>羅#include<>薃#include<>肈constintn=100000。芇typedefstruct{蚇 intkey。莂}RedType。膈typedefstruct{蚈RedType*r。//r[n+1]。膅intlength。肁}SqList。芈intrandom(>。聿voidInsertSort(SqList&L>。袇voidmain(>膄{ SqListL。芈 =newRedType[n+1]。芆 =n。莅 for(inti=1。i<=n。i++> [i].key=random(>。羃 longt1,t2。 莈 t1=clock(>。蚇 InsertSort(L>。肆 t2=clock(>。蚁 cout<<"时间:"<<float(t2-t1>/CLK_TCK<<endl。螂 }肇intrandom(>蒄{intA=48271。螄 intM=2147483646。袂 intQ=M/A。蒈 intR=M%A。膆 staticintx=
直接插入排序基本算法 来自淘豆网m.daumloan.com转载请标明出处.