排序算法的效率比较,C语言

发布时间 : 星期二 文章排序算法的效率比较,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\

联系合同范文客服:xxxxx#qq.com(#替换为@)