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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒙自县| 祁连县| 安平县| 潞西市| 那曲县| 方城县| 桐梓县| 临城县| 黑河市| 连城县| 绥阳县| 遂平县| 嘉禾县| 浠水县| 河南省| 济南市| 苍南县| 青龙| 宜宾市| 镇赉县| 禄丰县| 利辛县| 井陉县| 兰考县| 儋州市| 葵青区| 乳山市| 大足县| 内丘县| 麦盖提县| 周宁县| 普宁市| 南华县| 班戈县| 邓州市| 文安县| 班戈县| 乌拉特中旗| 河西区| 达州市| 新乐市|