插入排序之理解

插入排序的思路

1. 數組中第i個元素起拿出,備份(i>=1)
2.依次和第i個元素之前的元素進行比較
3.當出現比第i個元素大的元素時
4.把較大元素往後挪一個位置
5.把第i個元素往前挪一個位置

//思路把數組後未排序好的元素放到數組前排序好的元素中
public class insertSort {
    public static void main(String[] args) {
        int arr[] = {12,34,67,34,78,23,16};
        for(int i=1;i<arr.length;i++){
            int temp = arr[i];
            int j=i-1;
            while(j>=0 && temp<arr[j]){
               arr[j+1]=arr[j];//較大元素的位置後移
               j--;//在較大元素位置的前一位
            }
            arr[j+1] = temp;//把備份放到較大元素的位置
        }
        for(int b:arr){
        System.out.print(b+" ");
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章