演算法初探 插入排序

2021-07-11 02:19:04 字數 739 閱讀 1641

插入排序(insertion sort)是一種玩撲克的時候用的方法,我們摸牌時已經抽到的牌我們已經排好序了,抽上來一張新牌,我們一般不會直接放在最後,等全部抽完之後再進行排序,而是抽上來之後立刻放到對應的位置。

可以看gif圖了

抽牌的順序就是 6 5 3 1 8 7 2 4

這裡需要注意的操作是如何做到將新插入的記錄放到它應該待的地方,而保證放好後序列依舊是有序的?

以3為例,當檢測到它之前的元素大於它時,就依次向後移位。

#include 

#include

#include

using

namespace

std;

void insertsort(vector

& s);

void show(int x);

int main()

; insertsort(input);

for_each(input.begin(), input.end(), show);

cin.get();

return0;}

void insertsort(vector

& s)

s[j] = temp;

}}void show(int x)

插入排序演算法

插入排序演算法 思想 把排序過程看作是序列單個有序擴充套件為整體有序的過程,即首先取序列第二個元素與第乙個元素比較,將其插入合適位置,再將第三個元素與前兩個元素比較,將其插入合適位置,如此進行,直到最後取第n個元素與前n 1個元素進行比較並將其插入合適位置。演算法 建立日期 2004 12 14 插...

演算法 插入排序

include include 插入排序 n 2為的效率。具體思想 將陣列分為兩部分,一部分是有序的,一部分為無序的 然後從無序中選取乙個數插入在有序的數中的恰當的位置,以此迭代,直到無序的數全部遍厲完畢 void insert sort int a,int n a j tmp break retu...

插入排序演算法

下面這段話摘自 一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將...