五种排序算法---冒泡排序
如果遇到相等的值则不进行交换(这种排序方式是稳定的排序方式)。
1、原理:比较相邻的两个元素,将值大的元素交换到右边。
2、思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。完成一趟比较后,最后一个数一定是数组中最大的。所以下一趟排序中最后一个元素不参加比较。依次类推,每一趟比较次数减1,不参加排序的元素加1,直到所有元素排序完成。
3、举例:
要排序数组:[10,1,35,61,89,36,55]
第一趟排序:
第一次比较:10和1比较,10大于1,交换位置 [1,10,35,61,89,36,55]
第二次比较:10和35比较,10小于35,不交换位置 [1,10,35,61,89,36,55]
第三次比较:35和61比较,35小于61,不交换位置 [1,10,35,61,89,36,55]
第四次比较:61和89比较,61小于89,不交换位置 [1,10,35,61,89,36,55]
第五次比较:89和36比较,89大于36,交换位置 [1,10,35,61,36,89,55]
第六比较:89和55比较,89大于55,交换位置 [1,10,35,61,36,55,89]
第一趟总共进行了六次比较,排序结果:[1,10,35,61,36,55,89]
第二趟排序:
第一次比较:1和10比较,1小于10,不交换位置 1,10,35,61,36,55,89
第二次比较:10和35比较,10小于35,不交换位置 1,10,35,61,36,55,89
第三次比较:35和61比较,35小于61,不交换位置 1,10,35,61,36,55,89
第四次比较:61和36比较,61大于36,交换位置 1,10,35,36,61,55,89
第五次比较:61和55比较,61大于55,交换位置 1,10,35,36,55,61,89
第二趟总共进行了5次比较,排序结果:1,10,35,36,55,61,89
第三趟排序:
第一次比较:1和10比较,1小于10,不交换位置 1,10,35,36,55,61,89
第二次比较:10和35比较,10小于35,不交换位置 1,10,35,36,55,61,89
第三次比较:35和36比较,35小于36,不交换位置 1,10,35,36,55,61,89
第四次比较:36和61比较,36小于61,不交换位置 1,10,35,36,55,61,89
第三趟总共进行了4次比较,排序结果:1,10,35,36,55,61,89
到目前位置已经为有序的情形了。