五种排序算法---冒泡排序

如果遇到相等的值则不进行交换(这种排序方式是稳定的排序方式)。

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

到目前位置已经为有序的情形了。

 

posted @ 2022-02-12 17:03  钟齐峰  阅读(353)  评论(0编辑  收藏  举报