常用排序演算法 插入排序

2022-02-06 01:08:41 字數 1070 閱讀 7107

插入排序:

插入排序是假設數列已經按順序排列,反覆將每乙個元素插入,如果待插入資料比所有元素大,就直接放到最後;如果比前置元素小,前置元素後移,直至遇到比待插入小的位置。

初始狀態,假設數列只有乙個元素33

第一步將6插入  6比33小 33後移,6插入到33前面

第二步將-5插入 -5 比33小 33後移 -5比6小 6後移

第三步 將59插入 55 比-5 6 33 都大,直接插入在最後邊

第四步 將-12插入 -12比 -5 6 33 59 都小 12 插入最前端

view code

#include//

insertion sort

using

namespace

std;

void display(int array, int

n) cout

<

} int insertion_sort(int array, int

n)

array[j]=temp;

display(array,n );}//

cout

}intmain()

;

int num_array=sizeof(array)/sizeof(int); //

獲取陣列長度

cout<

before sort the array is :

"<

display(array,num_array);

insertion_sort(array,num_array);

cout

<

after sort the array is :

"<

display(array,num_array);

system(

"pause");

return0;

}

冒泡法排序演算法

選擇法排序演算法

常用排序演算法 插入排序

直接插入排序 假設從小到大 基本思想 1 從第2個數開始,與第1個數比較,若小於第乙個數則交換,這樣前兩個數已排序好 2 第三個數與第二個數比較,選擇交換或不交換,然後第二個數再與第乙個比較,選擇交換或不交換 3 以此類推,把當前數插入到之前已排序的序列中,直到處理完最後乙個數為止 時間複雜度 o ...

常用排序演算法 1 插入排序

插入演算法 基本插入 把要排序的數列分層兩部分 第一部分包含了數列除最後乙個元素外的所有元素,而第二部分僅包含數列的最後乙個元素,再把這個最後元素插入到此刻已經是有序的第一部分裡的正確位置,保證插入後數列的有序性。時間複雜度最好為o n 最壞o n 2 平均o n 2 空間複雜度o 1 插入排序包括...

常用排序演算法 插入排序解讀

常用的排序演算法有氣泡排序,快速排序,選擇排序,插入排序等,從效率上來講氣泡排序和選擇排序一般,10萬隨機數排序經測試,快速排序和插入排序毫秒級別,且效率比冒泡和選擇排序快百倍。這裡重要分析下如何寫出高效的插入排序 插入排序的思路 從小到大 1 認為n 1時陣列是已排序的 2 從i 2開始 i 2 ...