为了账号安全,请及时绑定邮箱和手机立即绑定

不懂冒泡法,求大神指教

不懂冒泡法,求大神指教

C
29fd 2016-08-20 16:15:05
查看完整描述

2 回答

?
JustWannaHugU

TA贡献452条经验 获得超796个赞

/*冒泡排序哪里不懂?

原理是:

1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3、针对所有的元素重复以上的步骤,除了最后一个。(循环实现)

4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 

*/
 #include <stdio.h>
 #include<windows.h>
 #define N 10 
 int main(void)
{
   int array[N];
   int temp;
   printf("输入10个数字:");
  for(int i=0;i<N;i++)        
   { scanf("%d",&array[i]);}
  for(int i=0;i<N-1;i++)     //核心代码 
     {
        for(int j=0;j<N-i-1;j++)  
        {
           if(array[j]>array[j+1])//利用temp临时变量来作为中介,使后一个数比前一个大
             {
                 temp=array[j];
                 array[j]=array[j+1];
                 array[j+1]=temp; 
              }
         }
       }
   printf("排序后:\n");
 for(int i=0;i<N;i++)      
  {
     printf("%d ",array[i]);
   }
 printf("\n");
 system("pause");
}

满意请采纳!
查看完整回答
反对 回复 2016-08-20
  • 2 回答
  • 3 关注
  • 1251 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信