資料結構 十大經典排序演算法之插入排序

2021-10-06 05:37:31 字數 648 閱讀 4920

第一部分:演算法思想

插入排序的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。

第二部分:演算法步驟

從第乙個元素開始,該元素認為已經被排序;

取下乙個元素,在已經排序的元素序列中從後向前掃瞄;

如果已排序元素大於新元素,將已排序元素移到下一位置;

重複步驟3,直到找到已排序的元素小於或者等於新元素的位置;

將新元素插入到該位置後;

重複步驟2~5。

第三部分:演算法動態演示

第四部分:部分**實現

void

sort_array

(int

*arr,

int n)

// 程式設計實現《插入排序演算法》:將亂序序列arr轉化為公升序序列

// 函式引數:亂序整數陣列(無重複元素) 陣列長度

arr[j+1]

= temp ;

}}

資料結構 十大經典排序演算法

0演算法概述 0.1演算法分類 十種常見排序演算法可以分為兩大類 比較類排序 通過比較來決定元素間的相對次序,由於其時間複雜度不能突破o nlogn 因此也稱為非線性時間比較類排序。非比較類排序 不通過比較來決定元素間的相對次序,它可以突破基於比較排序的時間下界,以線性時間執行,因此也稱為線性時間非...

資料結構 十大經典排序演算法之氣泡排序

演算法思想 氣泡排序重複地遍歷待排序的數列,每次比較兩個相鄰元素,如果它們的順序錯誤就把它們交換。重複地進行遍歷直到沒有再需要交換時表示數列已經排序完成。演算法步驟 比較相鄰的元素 若第乙個比第二個大,則交換 遍歷開始第一對到結尾最後一對,執行步驟1 重複步驟1 2,直到排序完成。可改進的氣泡排序 ...

資料結構 十大經典排序演算法之選擇排序

第一部分 演算法思想 選擇排序是一種簡單直觀的排序演算法,首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。第二部分 演算法步驟 初始狀態 無序序列為r 0,n 1 長度n,有序區為空 第...