现在的位置: 首页 > 综合 > 正文

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

2013年08月30日 ⁄ 综合 ⁄ 共 716字 ⁄ 字号 评论关闭
今天看了很多排序问题,准备一天搞定一个,今天是插入排序
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);
	}
	}
}

抱歉!评论已关闭.