Insertion Sort插入排序

2021-10-25 10:25:51 字數 660 閱讀 3655

第乙個數前邊沒有數字,不用排,相當於已經排好序了,然後第二個數插進前邊,第三個數在插進前邊,如果待插入的元素與有序數列裡相等,則插到那個數的後面

時間複雜度:

最好是o(n),

最壞的是o(n的平方)

空間複雜度:o(1)

穩定性:穩定

void

insertionsort

(int arr,

int len)

arr[j+1]

=tmp;

//後面的數比前面的數大,則就在前邊了}}

intmain()

;//定義陣列和得到長度

int len=

(int

)sizeof

(arr)

/sizeof

(*arr)

;seletionsort

(arr,len)

;//傳入陣列和長度

int i;

//函式做完後開始遍歷輸出

for(i=

0;i)return0;

}

插入排序 InsertionSort

插入排序insertionsort,引數是乙個陣列包含了n個待排序的數,輸入的各個數字是原地排序的 sorted in place 意即這些數字就是在陣列a中進行重新排序的,在任何時刻,至多只有其中的常數個數字是儲存在陣列之外的,當過程insertionsort執行完畢後,輸入陣列a中就包含了已排好...

插入排序 insertion sort

insertion sort 插入排序 適用於小規模的資料排序 時間複雜度 n 2 整體思路與玩牌是對手中撲克的排序方法類似 演算法描述 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,...

插入排序 Insertion sort

是一種簡單的排序方法。時間複雜度為o n 2 即n的平方。在資料量較小的情況下,是比較有效的排序方式。輸入 n個數 a1,a2,a3.an 輸出 輸入序列的乙個排序 要求 a 1 a 2 a n 思想 把序列分為2部分 已排序,未排序。每次從未排序中取乙個數,與已排序中的值比較,插入到合適的位置。p...