冒泡排序
思想:
- 从第一个元素开始,每相邻的两个元素比较大小,假设是升序排序,则比较时,如果前一个元素大于后一个元素,则交换两个元素的位置。
- 接着继续比较下一个相邻元素的大小,依次类推直到比较到最后一个元素时,则第一次冒泡完成。
- 接着从第二个元素开始,执行第一次相同的比较操作。
- 反复执行以上步骤,直到第n-1次冒泡完成,即可结束排序,因为已经排序完成。
冒泡排序的平均时间复杂度:O(n^2)。即:n的平方。
注意:冒泡排序每一次冒泡都会将最大值或者最小值找到,并且放到相应的位置。
假设升序排序,那么第一次冒泡完成后,最后一个元素一定是最大值。
假设降序排序,那么第一次冒泡完成后,最后一个元素一定是最小值。
所以每一次冒泡完成之后,被冒泡出来的元素就可以不参与下次的比较。
缺点:
- 效率慢。不适用与大量数据的排序。
冒牌排序实现代码:
public class BubbleSort {
public static void main(String[] args) {
Bubbl
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/134828.html