首页 > 代码库 > 排序算法:冒泡法
排序算法:冒泡法
冒泡排序: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() ----- */
排序算法:冒泡法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。