这是一种将一组数重新按顺序输出的方法
冒泡排列,我们要从最后一个数向前比较,比较相邻的两个数,将较小的数向前挪,就这样,将这组数中最小的数挪到了第一个位置;然后开始第二次挪动,又从最后一个数开始,将后面的数中的最小数挪到第二个位置.......如此下来,就将这组数从小到大排列好了。
初始数组顺序【2 9 6 1 7 4】
首先,从最后一个数看起,4小于7,于是将7与4的位置交换;而后比较1与4,1小于4,不交换;再比较6与1,6大于1,交换,再比较9与1,交换;比较2与1,交换。
第一次排序后【1 2 9 6 4 7】
接下来,我们固定第一位置的数,不管它;从最后一个数看起,4小于7,不交换........
第二次排序后【1 2 4 9 6 7】
......
第三次排序后【1 2 4 6 9 7】
.......
第四次排序后【1 2 4 6 7 9】
如此下来,就会发现这组数都从小到大的顺序排列。
我们来直接写出代码:
#include<stdio.h>
int main()
{
int i,j,tem,n,k;
int a[100005]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
{
if(a[j]<a[j-1])
{
tem=a[j-1];
a[j-1]=a[j];
a[j]=tem;
}
}
}
for(i=0;i<n;i++)
printf("%d",a[i]);
return 0;
}
你学会了吗???!!!!!
记得点个赞哦!!!!