直接插入排序法C 實現

2021-08-01 02:50:50 字數 689 閱讀 4410

理解:

直接插入排序法,假設陣列arr[n],先選取arr[1],將arr[1]儲存為temp,再將arr[1]與arr[0]比較,如果arr[1]小於它前面的arr[0],則將arr[0]的值右移至arr[1]的位置,即把arr[i]與arr[i-1]作比較,如果arr[i]小於arr[i-1],則將arr[i-1]及其之前的值右移,直到arr[i]大於或等於arr[i-1]為止,這時再將arr[i]插入這個位置,如下圖所示,橙色代表選取出來要進行插入的資料,綠色代表已經插好的資料:

實現**如下:

static

void main(string args)

;console.writeline("before sort:");

show(arr);

console.writeline("after sort:");

insertionsort(arr);

show(arr);

}static

void show(int arr)

static

void insertionsort(int arr)

arr[origin] = temp;}}

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 實現

原理 插入排序的基本操作是 有序插入 也就是將元素逐一插到有序序列中,保持序列有序,從而使有序序列的長度不斷增加。對陣列a n 排序時,起初a 0 被認為是長度為1的有序子串行。然後,按照有序插入法,i從1到n 1迴圈地將a i 插入到有序序列中。在插入a i 前,陣列a的前半段 a 0 至a i ...