Java冒泡排序和选择排序
1、选择排序:一个数和所有的数做对比,选择最大或者最小值
Java程序实例:
1 public class ArrayPractice{ 2 public static void main(String[] args) { 3 int[] a; 4 a = new int[args.length]; 5 for(int i = 0; i < args.length; i++) { 6 a[i] = Integer.parseInt(args[i]); 7 } 8 print(a); 9 selectionSort(a); 10 print(a); 11 } 12 13 private static void selectionSort(int[] a) { 14 for(int i=0; i<a.length-1; i++) { 15 for(int j=i+1; j<a.length; j++) { 16 if(a[i] > a[j]) { 17 int temp = a[j]; 18 a[j] = a[i]; 19 a[i] = temp; 20 } 21 } 22 } 23 } 24 25 private static void print(int[] a) { 26 for(int i=0; i<a.length; i++) { 27 System.out.print(a[i] + " "); 28 } 29 System.out.println(); 30 } 31 }
编译并执行:
2、冒泡排序:前一个数和后一个数作对比,小的数(大的数)依次往前(往后)移
Java程序实例:
1 public class BubbleTest{ 2 public static void main(String[] args) { 3 int[] a; 4 int len = args.length; 5 a = new int[len]; 6 for(int i =0; i<len; i++) { 7 a[i] = Integer.parseInt(args[i]); 8 } 9 print(a); 10 bubbleSort(a); 11 print(a); 12 } 13 14 private static void bubbleSort(int[] a) { 15 int temp; 16 int len = a.length; 17 for(int i=len-1; i>=1; i--) { 18 for(int j=0; j<=i-1; j++){ 19 if(a[j]>a[j+1]) { 20 temp = a[j]; 21 a[j] = a[j+1]; 22 a[j+1] = temp; 23 } 24 } 25 } 26 } 27 28 private static void print(int[] a) { 29 for(int i=0; i<a.length; i++) { 30 System.out.print(a[i] + " "); 31 } 32 System.out.println(); 33 } 34 }
编译并执行: