1. 数组高级冒泡排序原理图解
-
画图演示
-
-
相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处
-
-
需求: 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序。
-
冒泡排序实例
package com.heima.array; public class Demo1_Array { /** 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序。 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 */ public static void main(String[] args) { int[] arr = {24, 69, 80, 57, 13}; bubbleSort(arr); print(arr); } public static void bubbleSort(int[] arr) { for(int i = 0; i < arr.length -1 ; i++) { // 外循环只需要比较arr.length-1次就行了 for(int j = 0; j < arr.length - i - 1; j++) { // -1 是为了防止索引越界异常,-i 是为了 if(arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tmp; } } } } public static void print(int[] arr) { for(int i = 0;i < arr.length; i++){ System.out.print(arr[i] + " "); } } }
-