詳解插入排序 秒懂

2021-09-27 08:57:35 字數 1159 閱讀 6905

點關注不迷路,歡迎再訪!
精簡部落格內容,盡量已專業術語來分享。

努力做到對每一位認可自己的讀者負責。

幫助別人的同時更是豐富自己的良機。

插入排序演算法通過對未排序的資料執行逐個插入至合適的位置而完成排序工作。插入排序演算法的思路比較簡單,應用比較多。

插入排序演算法通過比較和插入來實現排序,其排序流程如下:

1.首先對陣列的前兩個資料進行從小到大的排序。

2.接著將第3個資料與排好序的兩個資料比較,將第3個資料插入合適的位置。

3.然後,將第4個資料插入已排好序的前3個資料中。

4.不斷重複上述過程,直到把最後乙個資料插入合適的位置。最後,便完成了對原始陣列從小到大的排序。

public

static

void

main

(string[

] args)

; int i,j,t,h;

//定義臨時變數

for(i =

1; i < scores.length; i++

)

scores[j+1]

= t;

system.out.

print

("第"

+i+"步排序結果:");

//輸出每步排序的結果

for(h =

0; h < scores.length; h++

) system.out.

print

("\n");

}}

第1步排序結果: 4 6 0 7 5 3

第2步排序結果: 0 4 6 7 5 3

第3步排序結果: 0 4 6 7 5 3

第4步排序結果: 0 4 5 6 7 3

第5步排序結果: 0 3 4 5 6 7

從上邊的例子可以非常直觀地了解到插入排序演算法的執行過程。插入排序演算法在對n個資料進行排序時,無論原資料有無順序,都需要進行n-1步的中間排序。

優點:這種排序方法思路簡單直觀,在資料已有一定順序的情況下,排序效率較好。

缺點:但如果資料無規則,則需要移動大量的資料,其排序效率也不高。

詳解氣泡排序 秒懂

點關注不迷路,歡迎再訪!精簡部落格內容,盡量已專業術語來分享。努力做到對每一位認可自己的讀者負責。幫助別人的同時更是豐富自己的良機。氣泡排序演算法是所以排序演算法中最簡單 最基本的一種。氣泡排序演算法的思路就是交換排序,通過相鄰資料的交換來達到排序的目的。氣泡排序演算法通過多次比較和交換來實現排序,...

詳解選擇排序 秒懂

點關注不迷路,歡迎再訪!精簡部落格內容,盡量已專業術語來分享。努力做到對每一位認可自己的讀者負責。幫助別人的同時更是豐富自己的良機。選擇排序演算法也是比較簡單的排序演算法,其思路比較直觀。選擇排序演算法在每一步中選取最小值來重新排列,從而達到排序的目的。選擇排序演算法通過算選擇和交換來實現排序,其排...

插入排序詳解

有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度為o n 2 插...