插入排序

思想: 將數組分爲兩部分,一部分有序,一部分無序。每次從無序中拿一個數,在有序數組找一個坑,把這個無序的數放入坑中。(這樣會有一個,你佔啦別人的坑,別人數組

怎麼辦呢?那麼就要將插入坑中的地方的後面的數據都日後面移動,這樣就不會出現問題)。其實每次拿出的無序的數有兩個插入位置,要麼是自己的位置,要麼是code

有序數的那部分中的某個位置class

public class sort_insert {循環

public static void main(String[] args) {

    int a[]={1,7,3,9,0,4,5,6};
	
    int b[]=a;
	
    for(int i=0;i<a.length;i++)
	
        System.out.print(a[i]+" ");
		
    System.out.println();
	
      insert_sort(a);
	  
    for(int i=0;i<a.length;i++)
	
        System.out.print(a[i]+" ");
		
    System.out.println();
}

public static  void insert_sort(int a[]){
    int temp;

    int j;
	
    for(int i=1;i<a.length;i++){
	
        j=i;
		
        temp=a[i];
		
        //兩種循環實現

// int k=i;數據

// for( k=i-1;k>0&&temp<a[k];k--){sort

// a[k+1]=a[k];static

// } // a[k]=temp;移動

while (j>0&&a[j-1]>temp){
		
            a[j]=a[j-1];
			
            j--;
        }

       a[j]=temp;
    }
}

}while

相關文章
相關標籤/搜索