C语言两常见排序方式
#include <stdio.h>
int selection_sort(int a[],int n);//选择排序,从小到大
int bubble_sort(int a[],int n);//冒泡排序,从小到大
int main()
{
int i,a[]={12,2324,4,35,67,8,43,-12};
int b[]={12,2324,4,35,67,8,43,-12};
selection_sort(a, 8);
bubble_sort(b, 8);
for(i=0;i<8;i++)
printf("%d ",*(a+i));
printf("\n");
for(i=0;i<8;i++)
printf("%d ",*(b+i));
printf("\n");
return 0;
}
int selection_sort(int a[],int n)
{
int i,j,mincol,temp;
for(i=0;i<n-1;i++)
{
mincol=i;
for(j=i+1;j<n;j++)
if(a[mincol]>a[j])mincol=j;
if(mincol!=i){
temp=a[i];a[i]=a[mincol];a[mincol]=temp;
}
}
return a;
}
int bubble_sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
return a;
}
输出为:
就突然就想到的