冒泡排序
来源:互联网 发布:淘宝小二介入处理时间 编辑:程序博客网 时间:2024/06/05 21:00
1. 冒泡排序的概述(从小到大依次排序):
从上到下依次比较两个相邻的泡泡,如果小的在上,大的在下,则不动,如果打的在上,小的在下,就把这两个泡泡的顺序换一下,接着往下走,直到底部。这样就完成一趟排序。完成一趟排序,最大的泡泡一定在最下面。接下来的排序,只要对N - 1个数据进行排序。
2. 性能:
1) 最好情况:顺序 T = O(N)
2) 最坏情况:逆序 T = O(N2)
3) 是稳定的。
4) 如果ElementType A[]放在单向链表里面,因为冒泡排序是从上依次往下扫描,交换相邻的两个元素。因此它是可以用于单向链表排序。但是其他排序算法就不能。
3. 代码:
void BubbleSort(ElementType A[], int N){/*冒泡排序*/int i, j;bool flag;ElementType temp;for(i = N - 1; i >= 0; i--){flag = 0;/*标记该次循环中是否发生交换,若无,则说明整个序列有序*/for(j = 0; j < i; j++){/*每次循环找出一个最大元素,被交换到最右端*/if(A[j] > A[j + 1]){temp = A[j];A[j] = A[j + 1];A[j + 1] = temp;flag = 1;/*若发生交换,则标记*/}}if(!flag) break;/*若没发生交换,则跳出循环*/}}
1 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- jqgrid学习(二)
- ERROR OGG-00446 No valid log files for current redo sequence 20415, thread 1, error retrieving re
- Windows下oracle打补丁步骤
- 中国论坛排行榜,热门论坛网站排行榜,热门论坛网站排行榜[转]
- 解决直接从网站down下来的js文件报错的问题
- 冒泡排序
- 为什么我新建的maven项目没有java目录?
- swift 学习计划(一) Array 数组、字典
- 调用接口的代码!
- UIView层次管理(sendSubviewToBack,bringSubviewToFront)
- 线性和进程
- TomCat的工作原理和端口理解
- 通过wifi调试应用!
- BootStrap table 数据填充与分页