插入排序 C語言

2021-10-05 22:20:53 字數 1349 閱讀 3399

// 插入排序

#define _crt_secure_no_warnings

#include

#include

#include

#define arr_size(x) (sizeof(x)/sizeof(x[0]))

// 直接插入排序

void

insertsort

(int arr,

int len)

;// 折半插入排序

void

binaryinsertsort

(int arr,

int len)

;// 列印

void

printsort

(int arr,

int len)

;int

main

(int argc,

char

** ar**)

;//printf("%d\n", arr_size(arr));

// 直接插入排序

insertsort

(arr,

arr_size

(arr));

printsort

(arr,

arr_size

(arr));

// 折半插入排序

binaryinsertsort

(arr,

arr_size

(arr));

printsort

(arr,

arr_size

(arr));

system

("pause");

return0;

}// 直接插入排序(公升序。)

void

insertsort

(int arr,

int len)

arr[j +1]

= temp;

// 複製到要插入的位置。}}

// 折半插入排序(降序)

void

binaryinsertsort

(int arr,

int len)

else

}// 此時的high為temp的後繼 arr[high] < temp < arr[high + 1]

for(j = i -

1; j > high; j--

) arr[j +1]

= temp;}}

void

printsort

(int arr,

int len)

printf

("\n");

}

插入排序(C語言)

採用先確定數字然後找位置的方法。每次把最前面或最後面的沒有排好序的數字插入到已經排好序的數字中間合適的位置上。不斷把選擇好的數字和相鄰的數字做順序調整,直到它被放在合適的位置上。插入排序 include void insert sort int p num,int size int num 0,nu...

插入排序(c語言)

插入排序的基本思想是 每步將乙個待排序的紀錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。插入排序示例 void printfbuff datatype a,size t n 列印陣列 printf n void insertsort datatype a,size t...

C語言 插入排序

實現 精簡 插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度為o n 2 實現過程 為了比較容易地理解插入排序,我們可以列出一組資料,比如 1,5,4,3,7 我列出了兩種方法分別說明插入排序的實現過程,你可以...