在数组中两两相比较,如果前者比后者大,则交换两者顺序, 依次比较完以后,最大值会出现在最大索引值处 规律: 两两比较,大的往后放 第一次比较,倒数第0个不需要再次比较 第二次比较,倒数第1个不需要再次比较 第三次比较,倒数第2个不需要再次比较 .... 第n次比较,倒数第3个不需要再次比较
//导包 import java.util.Scanner; public class ArrayDemo02 { //编写一个主方法 public static void main(String[] args){ //创建一个键盘录入对象 Scanner sc = new Scanner(System.in); int[] arr = new int[5]; //提示录入并接收 for (int i = 0;i < 5;i++){ System.out.println("请输入第" + (i+1) + "个数字:"); arr[i] = sc.nextInt(); } //调用方法 //遍历排序前的数组 System.out.println("排序前的数组为:"); //调用遍历方法 printArray(arr); //调用冒泡排序的方法 bubbleSort(arr); System.out.println("排序后的数组为:"); //调用遍历方法 printArray(arr); } //编写冒泡排序方法 public static void bubbleSort(int[] array){ //比较次数 for(int x = 0;x < array.length-1;x++){ //里面元素进行判断,比较大小 for (int y = 0;y < array.length-1-x;y++) { //前面元素比后面元素大,互换位置 if (array[y] > array[y + 1]) { int temp = array[y]; array[y] = array[y + 1]; array[y + 1] = temp; } } } } //定义数组遍历方法 public static void printArray(int[] array){ System.out.print("["); for(int i = 0;i < array.length;i++){ //判断是否是数组的最后一个元素 if(i == array.length-1){ System.out.println(array[i] + "]"); }else { System.out.print(array[i] + ", "); } } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)