思路: 两两比较,但不是进行所有的数比较。
Scanner scanner = new Scanner(System.in); System.out.println("请输入要被排序数组的长度!"); int len = scanner.nextInt(); System.out.println("请输入相应长度的数组!"); int []data = new int[len]; for (int i = 0; i ) { data[i] = scanner.nextInt(); } for (int i=0, lens = data.length; i ) {//lens 在此定义,只会运行一次 for (int j = 0; j ) { if(data[j] > data[j+1]){ //交换 不使用临时变量 data[j+1] = data[j+1] + data[j]; data[j] = data[j+1] -data[j]; data[j+1] = data[j+1] - data[j]; } } } for (int i = 0; i ) { System.out.print(data[i] + " "); }
(二)冒泡排序