Java的冒泡排序
1 package com.kindred; 2 public class BubbleSortTest 3 { 4 public static void main(String[] args){ 5 int[] arr = new int[]{7,3,11,5,9,2}; 6 BubbleSortTest bst = new BubbleSortTest(); 7 //bst.sort(arr); 8 bst.sort2(arr); 9 10 for(int i = 0; i< arr.length; i++){ 11 System.out.print(arr[i] + " "); 12 } 13 } 14 15 public void sort(int[] arr){ 16 //外层循环,控制内层循环的比较范围 17 for(int j = arr.length - 1; j >= 0; j--){ 18 //内存循环,从左向右,将较大的值依次放到当前的最右侧 19 for(int i = 0; i< j; i++){ 20 if(arr[i] > arr[i+1]){ 21 int temp = arr[i+1]; 22 arr[i+1] = arr[i]; 23 arr[i] = temp; 24 } 25 } 26 } 27 28 } 29 30 public static void sort2(int[] arr){ 31 //外层循环 32 for(int j = 0; j < arr.length - 1; j++){ 33 //内存循环,从左向右,将较大的值依次放到当前的最右侧 34 for(int i = 0; i < arr.length - j - 1; i++){ 35 if(arr[i] > arr[i+1]){ 36 int temp = arr[i+1]; 37 arr[i+1] = arr[i]; 38 arr[i] = temp; 39 } 40 } 41 } 42 } 43 44 }
Java的冒泡排序,循环条件有些不同,本质是一样的。
浙公网安备 33010602011771号