常用排序算法的C语言实现

常用排序算法的C语言实现

ID:40500757

大小:15.80 KB

页数:8页

时间:2019-08-03

常用排序算法的C语言实现_第1页
常用排序算法的C语言实现_第2页
常用排序算法的C语言实现_第3页
常用排序算法的C语言实现_第4页
常用排序算法的C语言实现_第5页
资源描述:

《常用排序算法的C语言实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、常用排序算法的C语言实现//QuickSort快速排序//BubbleSort冒泡排序//InsertSort插入排序//ShellSort希尔排序//MegeSort归并排序//HeapSort堆排序//BucketSort桶排序//RadixSort基数排序#include#include/*快速排序*/voidQuickSort(int*a,intp,intq){intk,m,n,tmp;if(p

2、;}}a[q]=a[n];a[n]=k;QuickSort(a,p,n-1);QuickSort(a,n+1,q);}}/*冒泡排序*/voidBubbleSort(int*a,intn){inti,j;inttmp;if(n<2)return;for(i=0;ia[j+1]){tmp=a[j];a[j]=a[j+1];a[j+1]=tmp;}}}}/*插入排序*/voidInsertSort(int*a,intn){inti,j,k;if(n<2)return;for(i=1;i

3、or(j=i-1;j>=0;j--){if(k1){d=(d+1)/2;for(i=0;i

4、tM=i;inttmp;if(i<=(n/2-1)){if(lca[i]){M=lc;}if(rca[M]){M=rc;}if(i!=M){tmp=a[M];a[M]=a[i];a[i]=tmp;HeapAdjust(a,M,n);}}}staticvoidBuildHeap(int*a,intn){inti;for(i=(n/2-1);i>=0;i--){HeapAdjust(a,i,n);}}voidHeapSort(int*a,intn){inti,tp;BuildHeap(a,n);for(i=n-1;i>=0;i--){tp=a[i];

5、a[i]=a[0];a[0]=tp;HeapAdjust(a,0,i);PrintA(a,13);}}/*桶排序(桶排序是一个已知范围排序,这里假设范围为0-99)*/voidBucketSort(int*a,intn){intb[100]={0};//使用10个桶分别表示0-9inti,j;for(i=0;i

6、rt(int*a,intn,intMax_w){typedefstructLIST{intval;structLIST*next;}List;inti,j,d;Listr[10];List*p,*q;for(i=0;i<10;i++){r[i].val=0;r[i].next=NULL;}for(i=0;inext!=NULL){p=p->next;}p->next=(List*)malloc(sizeof(structLIST));p->next->val=a[i];p->next->next=NULL;}for(i=

7、0,j=0;i<10;i++){p=&r[i];while(p->next!=NULL){a[j++]=p->next->val;p=p->next;}while(r[i].next!=NULL)//回收内存{p=&r[i];q=p;while(p->next!=NULL){q=p;p=p->next;}if(p!=q){free(p);q->next=NULL;}}}for(j=1,d=1;j

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。