资源描述:
《各种排序算法全集》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、各种排序算法全集viewsourceprint?001#include002#include003structnode004{005 intkey;006}r[20];007 008structrnode009{010 intkey;011 intpoint;012};013 014main()015{016 voidprint(structnodea[20],intn);017 intcreat();018 voidshell(stru
2、ctnodea[20],intn);019 inthoare(structnodea[20],intl,inth);020 voidquick1(structnodea[20],intn);021 voidquick2(structnodea[20],intl,inth);022 voidheap(structnodea[20],inti,intm);023 voidheapsort(structnodea[20],intn);024 voidmerges(structnodea
3、[20],structnodea2[20],inth1,intmid,inth2);025 voidmergepass(structnodea[20],structnodea2[20],intl,intn);026 voidmergesort(structnodea[20],intn);027 intyx(intm,inti);028 intradixsort(structrnodea[20],intn);029 intnum,l,h,c;030 structrnodes[20]
4、;031 c=1;032 while(c!=0)033 {034 printf(" 主菜单 ");035 printf(" 1 输入关键字,以-9999表示结束。");036 printf(" 2 希尔排序 ");037 printf(" 3 非递归的快速排序 ");038 prin
5、tf(" 4 递归的快速排序 ");039 printf(" 5 堆排序 ");040 printf(" 6 归并排序 ");041 printf(" 7 基数排序 ");042 printf("输入选择 (1--7,0表示结束): ");043
6、scanf("%d",&c);044 switch(c)045 {046 case1:num=creat();print(r,num);break;047 case2:shell(r,num);print(r,num);break;048 case3:quick1(r,num);print(r,num);break;049 case4:l=0;h=num-1;quick2(r,l,h);050 printf("
7、outputquick2sortresult:");051 print(r,num);break;052 case5:heapsort(r,num);break;053 case6:mergesort(r,num);print(r,num);break;054 case7:radixsort(s,num);055 }056 }057}//mainend058 059voidprint(structnodea[20],intn)
8、060{061 inti;062 for(i=0;i