首页 > 编程语言 > 详细

排序一: 冒泡排序

时间:2016-08-15 01:21:19      阅读:194      评论:0      收藏:0      [点我收藏+]

•算法

  相邻元素两两比较,前者大于后者,彼此交换

  从第一对到最后一对,最大的元素沉降到最后

  针对未排序部分,重复以上步骤,沉降次大值

  每次扫描越来越少的元素,直至不再发生交换

•评价

  平均时间复杂度:O(N2)

  稳定排序

 1 // 冒泡排序
 2 void bubble_sort(int *data, int size)
 3 {
 4     int i = 0;
 5     int j = 0;
 6     for(i=0; i<size-1; i++)//趟数
 7     {
 8         int ordered = 1;
 9         for(j=0; j<size-1-i; j++)
10         {
11             if(data[j+1] < data[j])
12             {
13                 int swap = data[j];
14                 data[j] = data[j+1];
15                 data[j+1] = swap;
16                 ordered = 0;
17             }
18         }
19         if(ordered)
20         {
21             break;
22         }
23     }
24     
25 }

 

排序一: 冒泡排序

原文:http://www.cnblogs.com/jiangson/p/5771440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!