C语言:冒泡法排序一组数,如何优化?

原创 2016年05月30日 17:15:18
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
     int arr[] = { 5, 6, 7, 8, 9 ,1, 2, 3, 4};
     int i = 0;
     int j = 0;
     int flag;
     int size = sizeof(arr) / sizeof(arr[0]);
     for (i = 0; i < size- 1 ; i++)
     {  
          flag = 1;//设置标志位,优化冒泡
          for (j = 0; j < size  - 1 - i ; j++)
          {
               if (arr[j] < arr[j + 1])
               {
                    int tmp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = tmp;
                    flag = 0; 
           }
      }
      if (flag) //说明未进入if内部,即尚未交换已经是所需的输出顺序
      break;
     }
     
     for (i = 0; i < size; i++)
     {
          printf("%d ", arr[i]);
     }
     system("pause");
     return 0;
}

wKioL1ZFn03yR0LYAABblrgS6qs472.png

相关文章推荐

c语言冒泡法排序

  • 2015年05月16日 18:36
  • 377B
  • 下载

c语言冒泡法排序

  • 2013年10月16日 14:18
  • 15KB
  • 下载

JavaScript中关于用冒泡排序从小到大排列一组数 (详细)!

用冒泡排序从小到大排列好一组数; 首先跟选择排序一样我们要了解冒泡排序的思路: 选择排序是拿一个数依次和后面的每个数比,每一轮得出一个最大的数; 而冒泡排序则是相邻的两个数进行比较,如果前面的数...

C语言冒泡排序法的简单程序.doc

  • 2012年12月15日 19:29
  • 49KB
  • 下载

C语言之数组冒泡排序法

  • 2009年12月02日 13:28
  • 181KB
  • 下载

输入一组数据,先用冒泡法将数据从小到大排序,再用二分法查找所需要的那个数据

//输入一组数据,先用冒泡法将数据从小到大排序,再用二分法查找所需要的那个数据 #include int main (void) { int a[10],k,i,j,temp; //冒泡法所需要的变...

c语言冒泡法排序

  • 2012年12月25日 15:00
  • 159KB
  • 下载

C语言冒泡排序法

  • 2015年06月20日 13:28
  • 506B
  • 下载

【C语言】冒泡排序及优化

冒泡排序及优化

【C语言经典实例】-冒泡法排序

本实例实现的功能是:使用冒泡法对任意输入的10个数由小到大进行排序。通过两个for循环实现冒泡排序的全过程,外层for循环决定冒泡排序的趟数,内层for循环决定每趟所进行的两两比较的次数。 #incl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言:冒泡法排序一组数,如何优化?
举报原因:
原因补充:

(最多只允许输入30个字)