一、概念
一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
二、排序过程
比较相邻的元素。如果前一个比后一个大,就交换他们两个的位置。
例如:1,5,2,45,75,65
首先将1和5进行比较,1<5,不需要交换位置,即1,5,2,45,75,65
再比较1和2,1<2,不需要交换位置,即 1,5,2,45,75,65
依次类推,1属于最小值,即1,5,2,45,75,65。(此为第一轮)
再将5和2、45、75、65进行第二轮依次比较,其中5>2,需要交换位置,即1 2 5 45 75 65;
再依次比较,直到交换到最后一轮,即从左到右依次变大为止
写出最后结果:1 2 5 45 65 75
三、图示
如下:数组A=[98,31,5,27,2,78],共有六个数,需要比较 6-1 次,第i次比较的次数为 i-6 次
四、JavaScript完成运行
五、冒泡排序规律
需要比较的轮数=元素个数-1
第i轮比较次数=元素个数-轮数i
双重循环(for):外层循环的次数i<元素长度
内层循环的次数j<元素长度-1