1、什么是冒泡排序
冒泡排序是一种简单的排序算法。
- 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
- 它适合小规模数据的排序,并且其效率比较低,但是作为一个入门的算法,还是值得学习的。
- 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
- 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。
比如数组 [2,3,1,4,5] 经过排序成为了 [1,2,3,4,5] 或者 [5,4,3,2,1]
2、冒泡排序思路分析
(1)一共需要的趟数我们用外层for循环
5个数据我们一共需要走4趟 长度就是数组长度减去1 arr.length - 1
(2)每一趟交换次数我们用里层for循环
第一趟交换4次 第二趟交换3次第三趟交换2次第四趟交换1次 长度就是数组长度减去次数 但是我们次数是从0次开始的所以最终 arr.length -i -1
(3)交换2个变量就好了
3、代码实现
4、sort()函数排序
实现原理
a
可看作为arr[a]
,b可看作为arr[b]
- 循环比较
a
和b
,a-b
大于0
时,此时a>b
,将arr[a]
与arr[b]
交换位置
代码实现
5、后记
如果发现内有语句或逻辑混乱的地方,还请各路大神指正。