注册 登录
编程论坛 C++教室

对冒泡排序的理解

梁健 发布于 2010-05-26 09:15, 634 次点击
#include<stdio.h>
void main()
{
 int a[5],i,j,k;
 for(i=0;i<5;i++)scanf("%d",&a[i]);
 for(i=0;i<4;i++)
  for(j=0;j<4-i;j++)
         if(a[j]>a[j+1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}
   for(i=0;i<5;i++)printf("%d",a[i]);
}
5 回复
#2
ltyjyufo2010-05-26 09:27
   碰到比他大的就交换
#3
南国利剑2010-05-26 10:51
每走一趟肯定至少有一个数到达指定位置。
#4
gaoce2272010-05-26 15:00
两两比较,小的冒上去
#5
fanfan3202010-05-26 16:48
这个我学第一编时,也不太懂,呵呵,后来学的多了,自然就懂了!加油!!!
#6
2010-05-26 23:14
for(i=0;i<4;i++)
  for(j=0;j<4-i;j++)
         if(a[j]>a[j+1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}
每次把最大的一个数字放到最后,然后下一次在排序的时候就少排一个。
1