定义:重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
特点:1 从第一个元素开始,每次比较相邻两个元素
2 重复走访直到不需要交换为止

以上面的数组为例,4<6不交换,6>3做交换,以此类推,第一次遍历该数组后结果为4、3、1、2、6、5、7、0、8、9
按以上方法重复走访比较相邻的两个元素,最终可以得到排序后的数组
tip:可以发现当数组趋近于排序序列时,元素之间的交换次数比较少
用java实现冒泡排序算法

tip:用以上方法实现外层循坏总是遍历length-1次,对趋于排序的数组很不友好(如 1,2,3,4,5,6,8,7,9)
优化冒泡排序
结束条件:当遍历数组后不再需要交换元素,所以我们可以设置一个状态变量

小结:今天好冷啊~~~~

网友评论