排序演算法 插入排序 直接插入排序

2021-07-07 03:43:54 字數 648 閱讀 6313

package 插入排序;

/** * 直接插入排序(從後向前找到合適位置後插入)【穩定】

* * 基本思想:每步將乙個待排序的記錄,按其順序碼大小插入到前面已經排序的字序列的合適位置(從後向前找到合適位置後),直到全部插入排序完為止。

*/public

class 直接插入排序 ;

system.out.println("排序之前:");

for (int i = 0; i < a.length; i++)

sort(a);// 直接插入排序

system.out.println();

system.out.println("排序之後:");

for (int i = 0; i < a.length; i++)

}public

static

void

sort(int a) else

}a[j + 1] = temp;}}

}

執行結果如下:

排序之前:

49 38 65 97 76 13 27

排序之後:

13 27 38 49 65 76 97

排序演算法 插入排序 直接插入排序

當插入第i i 1 個元素時,前面的v 0 v i 1 等i 1個 元素已經有序。這時,將第i個元素與前i 1個元素v i 1 v 0 依次比較,找到插入位置即將v i 插入,同時原來位置上的元素向後順移。在這裡,插入位置的查詢是順序查詢。直接插入排序是一種穩定的排序演算法,其實現如下 public...

插入排序 直接插入排序

直接插入排序演算法思想 將整個資料表分成左右兩個子表,其中左子表為有序表,右子表為無序表 整個排序過程就是將右子表中的元素逐個插入到左子表中,直到右子表為空,而左子表成為新的有序表。演算法過程分析 將待排序的元素存放在陣列r n 1 中,在初始狀態下,r 0 為監視哨,r 1 為有序區,r 2 r ...

插入排序 直接插入排序

一.插入排序的基本思想 將乙個記錄插入已排序好的有序表中,從而得到乙個新的記錄數加1的有序表。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。所謂的哨兵,就是即將插入的記錄。二.示例 如果碰見相等的元素,會被插到後面,所以,相等元素的前後順序沒有改變,插入排序是穩定的。三.演算法實現 public ...