C语言编程的排序方法

C语言编程的排序方法

ID:41037699

大小:33.50 KB

页数:3页

时间:2019-08-14

C语言编程的排序方法_第1页
C语言编程的排序方法_第2页
C语言编程的排序方法_第3页
资源描述:

《C语言编程的排序方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言编程的排序方法冒泡法的程序:#includevoid sort(int array[],int size){int i,j,temp;/*下面是利用相邻的比较,把大的数放到上面;*/for(i=0;iarray[j])          {             temp=array[i];             array[i]=array[j];             array[j]=

2、temp;           }}void main(){int i;int a[10]={1,33,78,34,787,213,132,35,32,21};sort(a,10);for(i=0;i<10;i++)        printf("%6d",a[i]);} 这是选择法的程序:#includevoid sort(int array[],int size){int i,j,k,temp;for(i=0;i

3、,然后与a[i]交换;*/        for(j=i+1;jarray[j])              k=j;        temp=array[k];        array[k]=array[i];        array[i]=temp;}}void main(){int a[]={12,43,54,23,32,65,87,2,34,54};int i;sort(a,10);for(i=0;i<10;i++)        printf("%d"

4、,a[i]);}这是一个快速排序的程序:#includevoid quick_sort(int array[],int first,int last)/*first,last分别为数组下标的范围;*/{int temp,low,high,list_separator;low=first;high=last;/*下面是比较数组中的大小,把数组中的数与中间数比较,大的放在后半部分,比中间数小的放在前半部分,*/    list_separator=array[(first+last)/2];//中间数;do{    

5、    while(array[low]list_separator)// 中间数与后半部分比较;               high--;        if(low<=high)//前半部分与后半部分交换;        {               temp=array[low];               array[low++]=array[high];      

6、         array[high--]=temp;        }}while(low<=high);if(first

7、+)        printf("%d",a[i]);printf("");}这是一个希尔排序的程序:#includevoid shell_sort(int array[],int size){int temp,gap,i,flag;gap=size/2;do{        Do{               flag=0;/*利用标记,使前半部分与后半部分的数都对应比较过,前半部分大于后半部分的交换,直到都比较过,并且前半部分的数小于与前部分一一对应的后部分的数时,退出while循环*/          

8、  for(i=0;iarray[i+gap])                   {                        temp=array[i];

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

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

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