直接插入排序 C 實現

2021-10-06 07:52:26 字數 576 閱讀 4706

原理:

插入排序的基本操作是「有序插入」,也就是將元素逐一插到有序序列中,保持序列有序,從而使有序序列的長度不斷增加。

對陣列a[n]排序時,起初a[0]被認為是長度為1的有序子串行。然後,按照有序插入法,i從1到n-1迴圈地將a[i]插入到有序序列中。

在插入a[i]前,陣列a的前半段(a[0]至a[i-1])是有序段,後半段(a[i]~a[n-1])是停留於輸入次序的無序段。

插入a[i]使a[0]~a[i]有序。也就要為a[i[找到有序位置j(0<=j<=i),將a[i]插在a[j]的位置上。

//簡單插入排序演算法

//2020-05-18

#include

using

namespace std;

//公升序排列,len為陣列長度

void

insert_sort

(int a,

int len)

a[j +1]

= temp;}}

intmain()

return0;

}

c 實現直接插入排序

include includeusing namespace std define list init size 100 define listincrement 10 define elemtype int typedef structsqlist 建順序表 void initlist sq sq...

C 實現直接插入排序

直接插入排序在生活中最好的體現就是玩撲克牌,我們理牌的方式是把3和4移動到5的左側,再拿到一張2,把2移到最左側,拿到一張10,放最後邊,再拿到一張7,插入5與10中間。這裡我們的理牌方法就是直接插入排序。話不多說,直接上 這裡一步步給出不同的寫法 include include using nam...

C 直接插入排序

設計思路 1.首先把乙個元素的第乙個數看作乙個有序的數列 2.定義乙個游動的下標,指向有序序列中的最後乙個元素 2.從有序序列後乙個元素開始,往前比較,如果待比較元素比前乙個元素小的話,額外用變數盛著待比較元素,前乙個元素後移一位 游標減減 此時權當游標 1的位置已經空出 大的話,游標加一的位置即要...