插入排序

时间复杂度O(n)

import java.util.Scanner;
import java.util.Arrays;
class Main{
    
    static int a[];
    static int n;
    
    public static void insertSort(){
        int temp,i,j;
        for(i=1;i<n;i++){
            temp = a[i];
            for(j=i-1;j>=0&&a[j]>a[i];j--){    //查找插入位置同时移动元素
                a[j+1] = a[j];
            }
            a[j+1] = temp;
        }
    }
    
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
        a = new int[n];
        for(int i=0;i<n;i++){
            a[i] = in.nextInt();
        }
        insertSort();
        System.out.println(Arrays.toString(a));
    }
}

 

posted @ 2015-05-11 11:25  杨永华  阅读(82)  评论(0编辑  收藏  举报