排序七部曲之(二)冒泡法
2016-03-24 19:33
204 查看
例如要对27 15 34 8 19 1 6进行小到大排序
1、从后往前进行,每个数和它前面的第一个数比较,若小于前面的数则互相交换位置,这样经过一轮比较后最小的数就到了第一个位置
2、对a[1]~a[6]按照步骤1找出其中最小的放到a[1]中
3、按照以上方式经过n-1次完成排序
27 15 34 8 19 1 6
27 15 34 81 19
6
27 15 341 8
19 6
27 151 348 19
6
271
15 34 8 19
6
1
27 15 34 8 19
6
经过以上步骤就把最小的元素放到了第一个位置,按照同样的方式找出a[1]处的数
1、从后往前进行,每个数和它前面的第一个数比较,若小于前面的数则互相交换位置,这样经过一轮比较后最小的数就到了第一个位置
2、对a[1]~a[6]按照步骤1找出其中最小的放到a[1]中
3、按照以上方式经过n-1次完成排序
static void bubbleSort(){ for(int i=0;i<n-1;i++){//须进行n-1轮比较 for(int j=n-1;j>i;j--){ if(a[j]<a[j-1]){ swap(j,j-1)//交换a[j]和a[j-1]; } } } }过程演示:
27 15 34 8 19 1 6
27 15 34 81 19
6
27 15 341 8
19 6
27 151 348 19
6
271
15 34 8 19
6
1
27 15 34 8 19
6
经过以上步骤就把最小的元素放到了第一个位置,按照同样的方式找出a[1]处的数
相关文章推荐
- Problem Q
- ZJOI2016——一个蒟蒻的爆〇经历
- Android软键盘的隐藏显示研究
- 理工 58题 最少步数
- java回顾篇——进制转换,变量,数据类型的转换,运算符
- Web表格部分内容
- Linux常用命令
- 地方科技局重点科技项目在线申报管理系统
- 小的实例
- oneshot一次性服务
- Python中的str与unicode处理方法
- 对<iframe>标签的认识
- Android FM模块学习之二 FM搜索频率流程
- iOS sqlite 的各种操作
- 解决“linker command failed with exit code 1(use -v to see invocation)”的问题
- 【vs】fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory
- ceilometer-alarm-notifier/evaluator服务的初始化和启动
- java7自动资源管理
- 格力空调售后服务管理系统
- JAVA的POI操作Excel