排序算法:冒泡法

冒泡排序:n个数,经过n-1趟子排序完成的,第 i 趟子排序从第1个数至第 n-i 个数,若第i个数比后一个数大(则升序,小则降序)则交换两数。

1.比较相邻两个数,如果前面数据大于(或者小于)后面的数据,两个数据交换。

2.每次遍历之后,最大(或者最小)的数“沉”到最后

3.N个数进行(n-1)回排序,第i回进行(n-i)次比较

4, 排序效率低,用于小规模排序

 

原始:

0 1 2 3 4 5 6 7
6 10 4 90 52 77 8 3

 

 

第0次排序后:

0 1 2 3 4 5 6 7
6 4 10 52 77 8 3 90

 

 

。。。。。。

 

实现代码:

 

 1 /**************************************************************************************
 2  *  Description:
 3  *   Input Args:
 4  *  Output Args:
 5  * Return Value:
 6  *************************************************************************************/
 7 int bubble_sort (int a[])
 8 {
 9     int i, j;
10     int temp;
11 
12     for(i= 0; i<MAX-1; i++)
13         for(j=1; j<MAX-i; j++)
14             if (a[j-1] < a[j]) //大到小
15             {
16                 temp   = a[j-1];
17                 a[j-1] = a[j];
18                 a[j]   = temp;
19             }
20 
21     return 0;
22 } /* ----- End of bubble_sort()  ----- */

 

posted on 2014-09-19 14:29  小猩  阅读(309)  评论(0编辑  收藏  举报

导航