当前位置:网站首页>排序(冒泡排序)后面学习持续更新其它排序方法
排序(冒泡排序)后面学习持续更新其它排序方法
2022-07-27 19:07:00 【小唐学抓娃】
= = = = = = = = = 冒泡排序 = = = = = = = =
一、冒泡排序即每一轮的比较都能选出一个最大数或者最小数(让它们冒泡)
二、每一轮比较之后把那轮比较后最大的数放在最后
例:int[] arr = { 9 , 5 , 3 , 18, 2 } (从小到大排为例)
1、第一轮让所有元素都按顺序两两比较,如果前面元素的值 比后面元素的值大,则交换位置,这样一轮下来最后那个值就是最大的了
第一轮比较:
= = = = = = =9 , 5 , 3 , 18, 2 = = = = = = = =
第一次9和5比较,9大,交换:
5 , 9 , 3 , 18, 2
第二次9和3比较,9大,交换:
5 , 3 , 9 , 18, 2
第三次9和18比较,18大,不交换:
5 , 3 , 9 , 18, 2
第四次18和2比较,18大,交换:
5 , 3 , 9 , 2,18
第一轮比较完毕,比较了四次,得出一个最大的数。
2、第二轮重复第一轮的过程,只不过最大的数放在最后面,最后面的数就不用比较了。
第二轮比较:
= = = = = = = = = =5 , 3 , 9 , 2,18 = = = = = = = = =
第一次5和3比较,5大,交换:
3, 5 , 9 , 2, 18
第二次5和9比较,9大,不交换:
3 , 5 , 9 , 2 , 18
第三次9和2比较,9大,交换:
5 , 3 , 2 , 9, 18
第二轮比较完毕,比较了三次,得出一个第二大的数。
3、第三轮重复第二轮的过程,只不过最大的数和第二大的数放在最后面,最后面的数就不用比较了。
第三轮比较:
= = = = = = = = = =5 , 3 , 2 ,9, 18 = = = = = = = = =
第一次5和3比较,5大,交换:
3, 5 , 2 , 9, 18
第二次5和2比较,5大,交换:
3 , 2 , 5 , 9, 18
第三轮比较完毕,比较了两次次,得出一个第三大的数。
4、第四轮重复第三轮的过程,只不过最大的数、第二大的数及第三大的数放在最后面,最后面的数就不用比较了。
第四轮比较:
= = = = = = = = = = 3 , 2 , 5 , 9, 18 = = = = = = = = =
第一次3和2比较,3大,交换:
**2 **, 3 , 5 , 9, 18
至此,所有的数已经比较完了。
三、得出规律:
1、如果有 n 个数 ,那么 则需要比较 n-1 轮
2、在比较第 k 轮 时 ,只需要比较== n - k ==次。
比如:比较第二轮的时候,需要比较 5 - 2 = 3 次。因为第一轮已经比较出了一个最大数,此时剩 4 个数 ,只需要比较 3 次。
四、代码实现
核心代码:
int [ ] arr = { 9,5,3,18,2};
for (int i = 0 ; i < arr.length-1 ;i++ ) {//控制循环轮数 , 5 个数 ,4 轮
for (int j = 0 ; j < arr.length - 1 - i ;j++ ) { 每轮比较完后最后一个数不再比较
if(arr[j] >= arr[j+1]){ //前面的数比后面的大就交换,一直到最后
temp = arr[j];//交换值
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
边栏推荐
- Search, insert and delete of hash table
- 2019Q4内存厂商营收排名:三星下滑5%,仅SK海力士、美光维持增长
- 聊聊 MySQL 事务二阶段提交
- 首发展锐5G芯片!纯国产5G手机海信F50曝光:搭载虎贲T710+春藤510
- 【2022牛客多校第二场】K-Link with Bracket Sequence I
- 综合设计一个OPPE主页--页面的精选配件的设计
- xml编写补间动画 PopupWindow实现出现退出的动画
- Worthington蘑菇多酚氧化酶的特性及测定方案
- "Geography language" large model Wenxin Ernie geol and its application
- What are the product performances of industrial Ethernet switches?
猜你喜欢

Worthington plasma amine oxidase (PAO) instructions

Zibbix installation and deployment

Design of noise reduction link based on DSP

Comprehensively design an oppe homepage -- Design of selected accessories on the page

STL源码剖析

一文读懂Plato Farm的ePLATO,以及其高溢价缘由

IDEA连接MySQL数据库并执行SQL查询操作

ZABBIX monitoring service (III) configuration management graphics and windows

Multi person collaborative development specification

JVM-内存模型 面试总结
随机推荐
CocoaPods 重装
puzzle(021)消除问题
Analysis of STL source code
Up to 7.5gbps! The world's first 5nm 5g baseband snapdragon X60 release: support the aggregation of all major bands!
MySQL执行过程及执行顺序
Traps and limitations of Engineering Technology Development
University of Tilburg, Federal University of the Netherlands | neural data to text generation based on small datasets: comparing the added value of two semi supervised learning approvals on top of a l
美国新宣布制裁的6家中国企业到底是何方神圣?
Software testing interview question: what aspects should be considered when designing test cases, that is, which aspects should different test cases be tested for?
自定义recycleView的删除&移动的动画
How to check whether there is Tsinghua source / delete Tsinghua source and keep the default source
C语言-入门-语法-指针(十二)
zibbix安装部署
ADB ~ 隐藏或禁用状态栏和虚拟按键
LInkedList底层源码
@Detailed introduction of requestparam annotation
ACM MM 2022 | 浙大提出:点云分割主动学习新SOTA
单核CPU, 1G内存,也能做JVM调优吗?
中英文说明书丨人甲胎蛋白(AFP)ELISA定量试剂盒
软件测试面试题:设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?