数据结构之冒泡排序

思路

外循环和之前一样,每相邻两个数都比较,最小的就沉在最右边,内循环的范围一次一次减少。
代码,因为一个一个沉下去的就是排好的,相邻元素顺序错误我们就交换。

过程

代码

#include<stdio.h>
int main()
{
      int a[100], i, n, j, temp, max, k;//n为需要排序的数的数量
      scanf("%d",&n);
      for(i=0;i<n;i++)
      scanf("%d",&a[i]);
      for(i=0;i<n;i++)
      {
             for(j=0;j<n-1-i;j++)//一次外循环结束沉淀一个数比较的那些数就减少
                    if(a[j] < a[j+1])//后面一个数大于前面的则交换
                    {
                           temp = a[j];
                           a[j] = a[j+1];
                           a[j+1] = temp;
                    }
      }
             for(i=0;i<n;i++)       
             printf("%d ",a[i]);  
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务