每天一道编程题(三)------插入排序
来源:互联网 发布:淘宝怎么投诉假货 编辑:程序博客网 时间:2024/06/05 17:41
今天看了很多排序问题,准备一天搞定一个,今天是插入排序
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);}}}