時間複雜度o(n^2),空間複雜度o(n),這是穩定的排序方法
//表插入排序
#include#includeusing namespace std;
#define size 10
#define max 1000
typedef int elemtype;
typedef structslnode;
typedef structslinklist;
//初始化
void crelist(slinklist *sl)
//輸出
void list(slinklist *sl)
//調整next的指向
void linsertsort(slinklist *sl)
}//調整元素順序,使成順序序列
void adjustlink(slinklist *sl)
p=q;
}}int main()
//輸入:
//9//65 83 100 70 10 32 7 65 9
//輸出:
//1 2 3 4 5 6 7 8 9
//7 9 10 32 65 65 70 83 100
插入排序(二) 表插入排序
上篇文章已經提到直接插入排序中,時間消耗在了元素間的比較次數和移動這兩方面。折半插入排序可以減小比較次數,而表插入排序則可以避免元素移動。但它需要建立資料結構,並且需要額外的空間 省時一般都耗空間,這個在演算法上很常見哦!首先給出表結構,定義如下 define size 100 typedef st...
插入排序之表插入
表插入 時間複雜度o n 2 附加空間o 1 穩定排序 define crt secure no warnings include using namespace std define len 8 有len個元素要排 struct record void linklistinsertsort rec...
鍊錶插入排序
void insertsort list sortascount,node node else p prior next q q next p int sortwithinsetmethod list sortasdata wchar pp p data if isnum pp int i 0 i ...