冒泡排序 Java代码实现
初学冒泡排序:
1.冒泡排序写少了,掌握的一知半解
2.冒泡排序记住就行,反正也用不上这垃圾算法
重写冒泡排序:
体会两点
1,冒泡排序真的很简单
2,自己代码错了,第一可以网上找资源,第二可以进行debug调试,这样才知道自己写的代码哪里出错了。
失误误区和记忆技巧:弄懂冒泡排序的原理方便强化记忆。1.嵌套的for循环实现冒泡排序,最外层for循环是用来控制冒泡排序的排序次数的,n个数据参与排序,总共进行n-1次排序,所以最外层for循环中条件是i<arr.length-1,里面一层实现比较,使用误区就在这里,里面比较的时候比较的是arr【j】和arr【j+1】,前面的数大于后面的数,就交换两个位置的数值(或者说交换两数的位置)。特别注意,不要用arr【i】和arr【j】同时参与比较,这样就错误就产生了。debug调试可避免这个错误的产生。里面的for循环通过,J<arr.length-1-i;来实现每次i++后,就是每一次比较排序之后,此时排在数组的最后的元素不参与后面的比较了。冒泡排序内层每一次排序也是n个元素,只需要n-1次比较,即每两个元素一组,两两比较。先是第一个元素和第二个,如何就是第二个和第三个,直到最后两个元素参与比较,一次排序才算完成。