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

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

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

2019-11-10 23:04:20
字體:
來源:轉載
供稿:網友

直接插入排序的平均復雜度是 /(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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永新县| 绥德县| 德庆县| 淳安县| 塔城市| 乐平市| 阳曲县| 荃湾区| 蓬莱市| 安阳县| 桃源县| 明溪县| 杭锦后旗| 府谷县| 济源市| 金门县| 中西区| 上饶市| 青海省| 滦平县| 萝北县| 吉安市| 石首市| 日喀则市| 济宁市| 滦南县| 涪陵区| 驻马店市| 舒城县| 鹿邑县| 昌平区| 青州市| 安宁市| 四子王旗| 齐齐哈尔市| 延长县| 门源| 南通市| 西丰县| 农安县| 汾西县|