直接插入排序

2021-06-03 10:24:19 字數 716 閱讀 5654

直接插入排序的演算法思想:直接插入排序(straight insertion sort)的基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的、記錄數增 1 的有序表。

根據該思想,編寫**如下(從已有序列的第0個記錄開始比較):

public static void insertsort1(int ele) 

ele[j] = temp; //將第i個元素插入到第j個元素的位置上 

break; //注意,如果沒有這個break,則迴圈次數會多很多}}

}  //列印出排序後的結果

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

該演算法看上去有三層迴圈巢狀,而實際上演算法的複雜度是o(n^2),因為總的比較次數和移動(賦值)的次數加起來為n(n-1)/2.

另一種**:
public static void insertsort(int elements) 

elements[j] = temp;

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

}

第二版的**(從已有序列的最後乙個開始比較):

public static void insertsort2(int r)

} for (int i=0; i

直接插入排序

直接插入排序是一種最簡單的排序方法,它的基本思想是依次將每個記錄插入到乙個有序中去。就是說,第i i 1 遍整理時,a1,a2,ai 1已經是排好序的子串行 取出第i個元素ai,在已排好序的子串行為ai找到乙個合適的位置,並將它插到該位置上。易知上述排序當i 1時實際上為空操作,故可直接從i 2開始...

直接插入排序

源文章url http student.zjzk.cn course ware data structure web paixu paixu8.2.1.1.htm 做過部分修改。1 基本思想 假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直至...

直接插入排序

直接插入排序本質上就是我們玩撲克牌的時候整理撲克所做的操作,舉個例子,現在手上有5張牌 4,8,6,7,10 按由大到小的順序來使用直接插入排序演算法排序 先預設最左邊的第一張牌為最小的4,讀取第二張8,因為8大於4,不予理會,再往後看,見到了6,6小於前一位的8,於是 將牌6取出,發現6又大於4,...