C语言中排序程序代码参考

来源:本站
导读:目前正在解读《C语言中排序程序代码参考》的相关信息,《C语言中排序程序代码参考》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《C语言中排序程序代码参考》的详细说明。
简介:本文和大家分享几个C语言中排序程序的代码,感兴趣的朋友可以看看。

这是冒泡法的程序:

#include

void sort(int array[],int size)

{

int i,j,temp;

/*下面是利用相邻的比较,把大的数放到上面;*/

for(i=0;i

for(j=i+1;j

if(array[i]>array[j])

{

temp=array[i];

array[i]=array[j];

array[j]=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]);

}

这是选择法的程序:

#include

void sort(int array[],int size)

{

int i,j,k,temp;

for(i=0;i

{

k=i;

/*把最小的那一个数找出来,并且用a[k]记下来,然后与a[i]交换;*/

for(j=i+1;j

if(array[k]>array[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(%dt,a[i]);

}

这是一个快速排序的程序:

#include

void 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{

while(array[low]

low++;

while(array[high]>list_separator)// 中间数与后半部分比较;

high--;

if(low<=high)//前半部分与后半部分交换;

{

temp=array[low];

array[low++]=array[high];

array[high--]=temp;

}

}while(low<=high);

if(first

quick_sort(array,first,high);//利用递归的办法,实行循环;

if(low

quick_sort(array,low,last);//利用递归的办法,实行循环;

}

void main()

{

int a[9]={12,23,34,65,93,32,21,9,8};

quick_sort(a,0,8);

for(int i=0;i<9;i++)

printf(%dt,a[i]);

printf(n);

}

这是一个希尔排序的程序:

#include

void shell_sort(int array[],int size)

{

int temp,gap,i,flag;

gap=size/2;

do{

do{

flag=0;/*利用标记,使前半部分与后半部分的数都对应比较过,前半部分大于后半部分的交换,直到都比较过,并且前半部分的数小于与前部分一一对应的后部分的数时,退出while循环*/

for(i=0;i

if(array[i]>array[i+gap])

{

temp=array[i];

array[i]=array[i+gap];

array[i+gap]=temp;

flag=1;

}

}while(flag);

}while(gap=gap/2);

}

void main()

{

int array[]={1,2,32,43,64,7654,321,42,23,97,56,32,78,45,32},i;

shell_sort(array,15);

for(i=0;i<15;i++)

printf(%10d,array[i]);

}

提醒:《C语言中排序程序代码参考》最后刷新时间 2024-03-14 01:01:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《C语言中排序程序代码参考》该内容的真实性请自行鉴别。