java简单的排序方法——冒泡排序

java简单的排序方法——冒泡排序(简答的双循环结构)

思路:从第一个数开始,比较相邻两个数字大小,如果大就交换位置。
通过数组 {1,2,7,88,9,34,12}进行讲解。(代码如下图所示)
首先第一趟(也就是j=0时第一轮外循环):
           第一次排序1和2比较;不需要交换位置 {1,2,7,88,9,34,12}
           第二次排序2和7比较;不需要交换位置 {1,2,7,88,9,34,12}
           第三次排序7和88比较;不需要交换位置 {1,2,7,88,9,34,12}
           第四次排序88和9比较;需要交换位置 {1,2,7,9,88,34,12}
           第五次排序88和34比较;需要交换位置 {1,2,7,9,34,88,12}
           第六次排序88和12比较;需要交换位置 {1,2,7,9,34,12,88}
第二趟(也就是j=1时第二轮外循环):
           第一次排序1和2比较;不需要交换位置 {1,2,7,9,34,12,88}
           第二次排序2和7比较;不需要交换位置 {1,2,7,9,34,12,88}
           第三次排序7和9比较;不需要交换位置 {1,2,7,9,34,12,88}
           第四次排序9和34比较;不需要交换位置 {1,2,7,9,34,12,88}
           第五次排序34和12比较;需要交换位置 {1,2,7,9,12,34,88}
因为88已经确定为最大一个数,所以不需要比较代码中i<arr.length-1-j;当然不减去j也没错,但是没必要又比较一次。
这里虽然已经是按照顺序排列了,但是程序依然会继续运行。用前面同样得方法排序。

java简单的排序方法——冒泡排序
运行结果:
java简单的排序方法——冒泡排序