冒泡排序

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

java数组排序——冒泡排序。

  • 思路:
  1. 从一端开始比较,第一次循环的作用是把最大数放到最后一个位置,第二次循环,把第二大的数放到倒数第二的位置。整个过程像烧开水一样,较小的值像水中的气泡一样逐趟往上冒,每趟都有一块最大的‘‘石头’沉到水底。

  2. 冒泡排序的时间复杂度为O(n^2)。

冒泡排序_第1张图片

冒泡排序_第2张图片

稳定性分析

冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。

转载于:https://my.oschina.net/u/3672057/blog/1540576

你可能感兴趣的:(冒泡排序)