发布时间 : 星期二 文章排序算法的效率比较,C语言更新完毕开始阅读
}
void ShellSort(SqList &L,int dlta[]) {//希尔排序
int k,j=L.length/2,t=0; while(j>=0) { ++t; j-=2; }
j=L.length/2; for(k=0;k j=1;//定义最后一趟排序的增量 dlta[k]=j; j-=2; } for(k=0;k cout<<\希尔排序后的序列为-----\ for(k=1;k<=L.length;k++) cout<<\ cout< cout<<\希尔排序的比较次数:\ cout< } void HeapAdjust(HeapType &H,int s,int m) {//堆排序 int j; RedType rc; rc=H.r[s]; for(j=2*s;j<=m;j*=2) { if(j ++compare; ++j; } if(!LS(rc.key,H.r[j].key)) { ++compare; break; } H.r[s]=H.r[j]; s=j; } H.r[s]=rc; } void HeapSort(HeapType &H) { int i; for(i=H.length/2;i>0;--i) HeapAdjust(H,i,H.length); for(i=H.length;i>1;--i) { ++change; H.r[0]=H.r[1]; H.r[1]=H.r[i]; H.r[i]=H.r[0]; HeapAdjust(H,1,i-1); } cout<<\堆排序后的序列为-----\ for(i=1;i<=H.length;i++) cout<<\ cout< cout<<\堆排序的比较次数:\ cout< void main() { int i; int dlta[MAXSIZE]; SqList L; Create_Sq(L); cout<<\待排序序列为-----\ for(i=1;i<=L.length;i++) cout<<\ //冒泡排v序 SqList L1=L; Bubble_sort(L1); //直接插入排序 SqList L2=L; InsertSort(L2); //简单选择排序 SqList L3=L; SelectSort(L3); //快速排序 SqList L4=L; QuickSort(L4); //希尔排序 SqList L5=L; ShellSort(L5,dlta); //堆排序 SqList L6=L; HeapSort(L6); 第三个了。。。。。 #include\