深入浅出JAVA冒泡排序

JAVA冒泡排序

public class A {
	public static void main(String[] args) {
		int[] arr = { 14, 44, 10, 42, 2, 22, 3, 44 };
		//有几个数需要比较,2个数比较1次,3个数比较两次,n个数比较n-1次,所以循环条件是arr.length-1。
		for (int i = 0; i < arr.length - 1; i++) {
			//每个数需要比较几次,第1个数比较数组长度-1次,第2个数比较数组长度-2次,第n个数比较数组长度-n,又因为数组下标从0开始,所以循环条件是arr.length-1-i。
			//每一轮比较都使得当前循环内最大的一个数移到数组下标arr.length-2-i的位置。
			for (int j = 0; j < arr.length - 1 - i; j++) {
				if (arr[j] > arr[j + 1]) {
					//临时变量接收大的值;
					int temp = arr[j];
					//把小的值放到前面;
					arr[j] = arr[j + 1];
					//把大的值放到后面。
					arr[j + 1] = temp;
				}
			}
		}
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + (i==arr.length-1 ?"":"<="));
		}
	}
}

 

猜你喜欢

转载自blog.csdn.net/qq_39706570/article/details/106754688