每天一道编程题(三)------插入排序

来源:互联网 发布:淘宝怎么投诉假货 编辑:程序博客网 时间: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);}}}

原创粉丝点击