选择法将同一单个元素与还未比较的元素进行比较:a[0]分别与a[1]-a[9]进行比较,a[0]值确定后,a[1]分别与a[2]-a[9]比较,a[1]值也确定了,接着a[2]分别与a[3]-a[4]比较,依次类推。
冒泡法排序,将相邻的元素之间两两比较:a[0]与a[1]比较,假如是要由小往大排,若a[0]>a[1],a[0]与a[1]值互换。a[1]再与a[2]比较,若a[1]<a[2],则值不变,a[2]继续与a[3]比较,依次类推,a[9]的值最终敲定。接着继续a[0]与a[8]之间两两比较,使得a[8]的值最终敲定,依次类推。
去找个图或者敲一下就很容易理解了。
#include<stdio.h>
int main()
{
int a[10];
int i,j;
int temp=0,n=10;
//赋值数组
printf("请输入10个元素:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
//输出原顺序数组
printf("原数组为:\n");
for(i=0;i<10;i++)
{
printf("%5d",a[i]);
}
puts("\n");
//对比选择(由小到大排序)
for(i=0;i<n-1;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
//输出排序后的数组
printf("排序后数组为:\n");
for(i=0;i<10;i++)
{
printf("%5d",a[i]);
}
puts("\n");
return 0;
}
版权声明:本文为qq_44626925原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。