今天看了很多排序问题,准备一天搞定一个,今天是插入排序
public class InsertionSort { public static void InsertSort(int[] num){ for(int i=1; i<num.length; i++) { for(int j=i; j>0; j--) { if(num[j]<num[j-1]){ int temp=num[j]; num[j]=num[j-1]; num[j-1]=temp; } } } } public static void main(String[] args){ int[] num={10,9,8,7,6,5,4,3,2,1}; InsertSort(num); for (int a:num){ System.out.println(a); } } }
从同学那里听来一种好方法的插入排序,这个插入排序巧妙的利用了交换,使代码更简洁
public class InsertionSort { public static void InsertSort(int[] num){ for(int i=1; i<num.length; i++) { int temp=num[i]; for(int j=i; j>0; j--) { if(num[j]<num[j-1]){ num[j]=num[j-1]; } num[j-1]=temp; } } } public static void main(String[] args){ int[] num={10,9,8,7,6,5,4,3,2,1}; InsertSort(num); for (int a:num){ System.out.println(a); } } }