经典算法--冒泡排序~~~

219 阅读2分钟

1、什么是冒泡排序

冒泡排序是一种简单的排序算法。

  1. 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
  2. 它适合小规模数据的排序,并且其效率比较低,但是作为一个入门的算法,还是值得学习的。
  3. 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
  4. 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 比如数组 [2,3,1,4,5] 经过排序成为了 [1,2,3,4,5] 或者 [5,4,3,2,1] image.png

2、冒泡排序思路分析

image.png

(1)一共需要的趟数我们用外层for循环

5个数据我们一共需要走4趟 长度就是数组长度减去1 arr.length - 1

(2)每一趟交换次数我们用里层for循环

第一趟交换4次 第二趟交换3次第三趟交换2次第四趟交换1次 长度就是数组长度减去次数 但是我们次数是从0次开始的所以最终 arr.length -i -1

(3)交换2个变量就好了

图片1.png

3、代码实现

4、sort()函数排序

实现原理

  • a可看作为arr[a],b可看作为arr[b]
  • 循环比较aba-b大于0时,此时a>b,将arr[a]arr[b]交换位置

代码实现

5、后记

如果发现内有语句或逻辑混乱的地方,还请各路大神指正。