內排序方法總結

2022-08-30 05:57:06 字數 2165 閱讀 5359

1 #include 2

3using

namespace

std;

45 typedef int

elementtype;67

8/*插入排序

*//*

時間複雜度o(n²)*/9

void insertionsort ( elementtype *a, int

n )1021}

2223

2425

/*希爾排序

*////

特殊的插入排序

26void shallsort ( elementtype *a, int

n )2740}

41}4243

44/*

堆排序*/

45#define leftchild( i ) ( 2 * ( i ) + 1 )

4647

void percdown ( elementtype *a, int i, int

n )48

61 a[i] =tmp;62}

63void heapsort( elementtype *a, int

n )64

7374}75

7677

/*快速排序

*/78

79void qusort( int *a, int lt, int

rt )

8092

93 a[i] =key;

94 qusort( a, lt, i-1

);95 qusort( a, i+1

, rt );96}

9798

void qsort(void *base

, size_t nmemb, size_t size,

99int (*compar)(const

void*, const

void*))

100//

目標陣列, 項數, sizeof(int), 函式指標

101int mycomp ( const

void *p1, const

void *p2 )

102113

114115

116117

/*歸併排序

*/118

/*lpos = start of left half, rpos = start of right half

*/119

void merge ( elementtype *a, elementtype *tmparray,

120int lpos, int rpos, int

rightend )

121136

while( lpos <=leftend )

137 tmparray[tmppos++] = a[lpos++];

138while( rpos <=rightend )

139 tmparray[tmppos++] = a[rpos++];

140141

/*copy tmparray back

*/142

for( i=0; i)

143 a[rightend] =tmparray[rightend];

144}

145void msort ( elementtype *a, elementtype *tmparray,

146int left, int

rigth )

147157

}158

void mergesort ( elementtype *a, int

n )159

168else

169//

fatalerror( "no space for tmp array!!!" );

170return

;171

}172

173174

/*選擇排序

*/175//略

176/*

桶排序*/

177//

略178

/*氣泡排序

*/179//略

180181

182int

main()

183187

所有排序總結(內排序)

花時間把所有的排序重新 寫了一遍。應該是認真寫過一遍,學的時候根本就沒寫過 寫得時候才發現,理解不深刻。基本上 只是懂怎麼做,不懂為什麼。把我寫得記在這裡,以後用得著了回來看看。暫時就到這裡吧,以後有時間,繼續研究這些東西。在寫出來。三個o n2 的演算法 選擇排序 1 void selection...

內排序演算法總結 快速排序

快速排序 快速排序是一種在含n個數的輸入陣列上最壞情況執行時間為o n2 的演算法,平均效能的期望執行時間為o nlgn 且o nlgn 記號中隱含的常數因子很小。另外,它還能夠進行原地置換排序。快速排序是基於分治模式上的,分治過程三個步驟 1.分解 把陣列a p.r 分成兩個非空子陣列a p.q ...

資料結構 排序 內排序總結

1.時間複雜度總結 n2 直接插入排序,氣泡排序,簡單選擇排序 這三種裡面直接插入排序好一點 nlogn 快速排序,堆排序,歸併排序 n 基數排序 其他 n2 2.時間效能與初始序列無關 口訣 一堆烏龜選 堆排序,歸併排序,基本選擇排序,基數排序 3.空間效能 快速排序 logn 歸併排序 n 基數...