import java.util.Arrays; public class p { public static void main(String[] args) { //数组排序 - 冒泡排序 //从小到大排序 int[] arr = {9,5,-7,3,12}; System.out.println("排序前的数组:" + Arrays.toString(arr)); for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr.length - 1; j++) { if(arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } System.out.println("数组从小到大排序:" + Arrays.toString(arr)); } }1.2 代码虽然复杂,但是其运行时所需的内部循环次数较少
import java.util.Arrays; public class MyTest14 { public static void main(String[] args) { //数组排序 - 冒泡排序:相邻元素,两两进行比较 // 从小到大排序 int[] arr = {9,5,-7,3,12}; System.out.println("排序前的数组:" + Arrays.toString(arr)); for(int i = 0; i < arr.length - 1; i++) {// i 表示是第几轮比较 //System.out.println("---------------------------"); boolean flag = true;// true 数组已经假设排好序了 for(int j = 0; j < arr.length - 1 - i; j++) {// j 表示数组内所选元素的下标 //System.out.println("*****************"); if(arr[j] > arr[j+1]) {//通过元素比较以此来交换数值 int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; flag = false;// false 表示数组是没有排好序 } } if(flag == true){//数组有序,退出循环 break; } } System.out.println("数组从小到大排序:" + Arrays.toString(arr)); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)