public class Demo1 { public static void main(String[] args) { int[] array = {23,5,2,53,44}; selectSort(array); } //这个方法是冒泡排序 public static void sort(int []a){ int temp = 0; for(int j=0;j<a.length;j++){ for(int k=0;k<a.length-j-1;k++){ if(a[k]>a[k+1]){ temp = a[k+1]; a[k+1] = a[k]; a[k] = temp; } } } System.out.println(Arrays.toString(a)); } //这个方法是选择排序 public static void selectSort(int []a){ int temp = 0; for(int k=0;k<a.length;k++){ for(int j=k+1;j<a.length;j++){ if(a[k]>a[j]){ temp = a[j]; a[j] = a[k]; a[k] = temp; } } } System.out.println(Arrays.toString(a)); } }
冒泡排序和选择排序的核心是正好相反的。他们第一个for循环,比较的都是趟数,第二个for循环比较的都是和本趟中的数据进行比较。