国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

排序算法3——直接插入排序

2019-11-10 21:58:19
字體:
來源:轉載
供稿:網友

直接插入排序的平均復雜度是 /(O(n^2)/),因此應用場景較少。

直接插入排序的思路是: 每次處理一個數據,將其插入到一個已經排好序的子序列中,直到數據處理完畢。

下面給出一個動畫示例:

這里寫圖片描述

從上面來看我們也可以發現一些優點:

(1) 實現簡單,比其它 /(O(n^2)/) 排序算法高效; (2) 當數據已經基本有序時,效率較高; (3) 排序穩定,并且需要的額外存儲空間小; (4) 可以快速處理新增加的數據;

參照動畫我們可以很容易的理解下面的c++代碼:

void insertsort (int data[], int n){ int j, temp; // 外層循環負責依次處理每一個元素(忽略第一個) for (int i = 1; i < n; i++){ j = i; // 內層循環負責移動數據直到找到插入的位置 while (j > 0 && data[j] < data[j-1]){ temp = data[j]; data[j] = data[j-1]; data[j-1] = temp; j--; } }}

未完待續。。。。

參考資料:

(1)WIKI:https://en.wikipedia.org/wiki/Insertion_sort


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凭祥市| 邢台市| 淅川县| 常州市| 盖州市| 五河县| 三亚市| 房山区| 延津县| 宁武县| 元谋县| 乐平市| 锦州市| 维西| 周宁县| 石柱| 临安市| 靖西县| 龙门县| 玛多县| 玉田县| 龙井市| 疏勒县| 大港区| 文水县| 平定县| 环江| 息烽县| 灵川县| 栖霞市| 恩平市| 农安县| 上虞市| 盐山县| 临猗县| 平原县| 西畴县| 门头沟区| 阿瓦提县| 林周县| 饶平县|