万行代码——排序法小结

数组的排序无疑在c2中很常见,下面给出几种经典的排序方法排序0,1,2,3,4,

选择排序,即先通过设置外循环控制长度为n的数据,一般设置n-1;接着设置内循环,将当前数与其后数比较一般取j=i+1最省空间,然后设置循环输出

#include"stdio.h"//xuanzepaixu

main()

{
int i,j,t,min;
int a[5]={0,1,2,3,4};
for(i=0;i<4;i++)
{
min=i;
for(j=0;j<5;j++)
if(a[min]>a[j])
{
t=a[min];
a[min]=a[j];
a[j]=t;


}

for(i=0;i<5;i++)
printf("%4d",a[i]);

}

}

冒泡排序法,与选择排序类似,所不同的是冒泡排序是相邻两项比较,对于长度为n的数据,设置外循环j=n-1;内循环4-j,相邻比较大者置后,最后输出
#include "stdio.h"//paixu
main()
{
int i,j,t;
int a[5];
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(j=0;j<4;j++)
for(i=0;i<4-j;i++)
if(a[i]>a[i+1])
{

t=a[i];
a[i]=a[i+1];
a[i+1]=t;

}
for(i=0;i<5;i++)
printf("%4d",a[i]);
}

#include"stdio.h"
main()
{
int i,j;
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%4d",a[i][j]);
printf("\n");
}

}

猜你喜欢

转载自blog.csdn.net/qqGHJ/article/details/79633809