冒泡排序思路: 利用交换元素的位置进行排序,两两比较排序的元素,直到结束
冒泡比较的是相邻的两个数,把逆序的数据向后移动,
比较的次数 = 总长度 - 趟数\
我们对数组int[] array{3,1,4,2,5,6,};进行冒泡排序,进行升序排序,
第一趟比较 : 3,1,6,2,5,4
第一次比较: 1,3,6,2,5,4 比较的两个数是3和1,交换位置
第二次比较: 1,3,6,2,5,4 比较的两个数是3和6,不交换位置
第三次比较: 1,3,2,6,5,4 比较的两个数是6和2,交换位置
第四次比较: 1,3,2,5,6,4 比较的两个数是6和5,交换位置
第五次比较: 1,3,2,5,4,6 比较的两个数是6和4,交换位置
第二趟比较 : 1,3,2,5,4,6
第一次比较: 1,3,2,5,4,6 比较的两个数是1和3,不交换位置
第二次比较: 1,2,3,5,4,6 比较的两个数是2和2,交换位置
第三次比较: 1,2,3,5,4,6 比较的两个数是3和5,不交换位置
第四次比较: 1,2,3,4,5,6 比较的两个数是5和4,交换位置
不需要和6比较,上一趟已经确认了6是最大的,这一趟,又确认一个最大值:5
第三趟比较 : 1,2,3,4,5,6
第一次比较: 1,2,3,4,5,6 比较的两个数是1和2,不交换位置
第二次比较: 1,2,3,4,5,6 比较的两个数是2和3,不交换位置
第三次比较: 1,2,3,4,5,6 比较的两个数是3和4,不交换位置
不需要比较4和5的关系,上一趟确认了最大值的就是4
第四趟比较 : 1,2,3,4,5,6