国产探花免费观看_亚洲丰满少妇自慰呻吟_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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南阳市| 林州市| 合水县| 双流县| 临颍县| 周至县| 茂名市| 万荣县| 白朗县| 六枝特区| 颍上县| 龙井市| 齐齐哈尔市| 嘉定区| 略阳县| 耒阳市| 淮北市| 和静县| 高淳县| 禄丰县| 深泽县| 新沂市| 永城市| 乐昌市| 曲水县| 山丹县| 寻甸| 蒙自县| 大渡口区| 遂平县| 安国市| 陆川县| 安徽省| 镇雄县| 清苑县| 吴桥县| 宽甸| 五家渠市| 米脂县| 三门峡市| 安溪县|