/**
* 冒泡排序
* 思想:相邻元素互相比较,较大的放在后面
* 执行过程:{23,12,56,7,3}
* 外层
* 第一趟:{23,12,56,7,3}
* 内层
* 第一趟:23>12,交换->12,23 {12,23,56,7,3}
* 第二趟:23<56 {12,23,56,7,3}
* 第三趟:56>7,交换->7,56 {12,23,7,56,3}
* 第四趟:56>3,交换->3,56 {12,23,7,3,56}
* 第二趟:{12,23,7,3,56}
* 内层:只需要交换3趟即可,因为最后一个元素已经拍好序了。
* 其他的重复上面的过程
*/
public class test2 {
public static void main(String[] args) {
int[] arr = {3,5,1,7,8,2,9,4,0,6};
int temp = 0;
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length - i - 1; j++)
//j < arr.length - i - 1是因为已经有元素排序完成,并且在最后面
{
if (arr[j] > arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}