冒泡排序(Java版)
我的个人主页:光之梦的博客_云社区-华为云 (huaweicloud.com)
欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,我会第一时间改正。非常感谢!
特别标注:本博主将会长期更新c语言的语法知识,初学c语言的朋友们,可以收藏订阅一下我的<C语言基础语法>专栏。关注博主,学习不迷路哦
冒泡排序
1.1 冒泡排序介绍
相邻的两个数进行比较, 如果第一个比第二个大, 就交换他们两个
也就是说:把第一个元素与第二个进行比较,比出最大的那个(如果第一个大,那就把第二个数与第一个数互换位置,如果第二个大那就位置不变),然后拿第二个去和第三个元素进行比较,以此类推,那么最后的元素应该会是最大的数。
对所有的元素重复以上的步骤,除了最后一个,即需要进行length-1次。
第一次是对n个数进行n-1次比较,进行到最后第n个的一个是最大的;
第二次是对n-1个数进行n-2次比较,进行到最后第n-1个的一个是最大的;
第一轮:可以选出最大值
第一轮 : arr[0]-arr[1] arr[1]-arr[2] arr[2]-arr[3] arr[3]-arr[4] 比较4次
1.2 冒泡排序图例
五个元素只需比较四轮
第一轮 : arr[0]-arr[1] arr[1]-arr[2] arr[2]-arr[3] arr[3]-arr[4] 比较4次
第二轮 : arr[0]-arr[1] arr[1]-arr[2] arr[2]-arr[3] 比较3次
第三轮 : arr[0]-arr[1] arr[1]-arr[2] 比较2次
第四轮 : arr[0]-arr[1] 比较1次
1.3 代码实现思路
用外循环来控制比较的轮数,用内循环来控制比较的次数
我们写这个循环嵌套,主要是想实现这个比较的过程。而在比较的过程当中,我需要拿到数组里面的元素来挨个做比较,那么需要拿到数组里的元素,是不是就需要进行遍历数组呀
注:千万不要去背代码,只要你把这个思路记住了什么时候你都能写得出来
1.4 冒泡排序(超详细解析)
冒泡排序·简
欢乐的时光总是过得快,又到时间说拜拜了
如果有问题随时都可以来问我,我会随时为您解答!欢迎大家与我一起学习,互相进步。
创作不易,👍 +⭐ +📝(一键三连) 是对博主最大的鼓励与支持哦。
- 点赞
- 收藏
- 关注作者
评论(0)