冒泡排序:
9,3,5,7,1
比较9和3,9>3,交换位置3,9,5,7,1 比较9和5,9>5,交换位置3,5,9,7,1,比较9和7,9>7,交换位置3,5,7,9,1,比较9和1,9>1,交换位置3,5,7,1,9
第一轮结束,最大的数被移到数组最后一位3,5,7,1,9 ,比较了四次
比较3和5,3<5,不交换位置,比较5和7,5<7,不交换位置,比较7和1,7>1,交换位置3,5,1,7,9
第二轮结束,第二大的数被移到数组倒数第二位3,5,1,7,9,比较了三次
比较3和5,3<5,不交换位置,比较5和1,5>1,交换位置3,1,5,7,9
第三轮结束,第三大的数被移到数组倒数第三位3,1,5,7,9,比较了两次
比较3和1,3>1,交换位置1,3,5,7,9
第四轮结束,第四大的数被移到数组倒数第四位1,3,5,7,9,比较了一次
public class Test01 {
public static void main(String[] args) {
int[] array = {9,3,5,7,1};
printArray(array);
bubble(array);
printArray(array);
}
public static void bubble(int[] array){
for(int i = 0;i < array.length - 1;i++) {
for(int j = 0;j < array.length - 1 - i;j++) {
if(array[j] > array[j+1]) {
swap(array,j,j+1);
}
}
}
}
public static void printArray(int[] array) {
for(int i : array) {
System.out.print(i + " ");
}
System.out.println();
}
public static void swap(int[] array,int x,int y) {
int temp = array[x];
array[x] = array[y];
array[y] = temp;
}
}