快速排序演算法C實現

2021-10-06 10:28:18 字數 897 閱讀 5727

快速排序是大規模遞迴的演算法,它比大部分排序演算法都要快。一般用於資料個數比較多的情況。儘管可以在某些特殊的情況下寫出比快速排序快的演算法,但是就通常情況而言,沒有比它更快的了。快速排序是遞迴的,對於記憶體非常有限的機器來說,它不是乙個好的選擇。

#include

#include

/*快速排序演算法學習

*/void

swap

(int

*a,int

*b)void

quicksort

(int arr,

int start,

int end)

while

(start < end && arr[start]

< arrbase)

start++;if

(start < end)

} arr[start]

= arrbase;

arrmiddle = start;

//分治方法進行遞迴

quicksort

(arr,tempstart,arrmiddle-1)

;quicksort

(arr,arrmiddle+

1,tempend);}

intmain()

;int arrlength =

sizeof

(myarr)

/sizeof

(int);

quicksort

(myarr,

0,arrlength-1)

;for

(int i =

0; i)printf

("%5d"

,myarr[i]);

return0;

}``

快速排序演算法 c 實現

namespace backpackproblem backpack bp new backpack profit int start 0 int end profit.length 1 bp.quicksort profit,start,end bp.print class backpack 快速...

快速排序演算法C 實現

經常看到有人在網上發快速排序的演算法,通常情況下這些人是在準備找工作,或者看 演算法導論 這本書,而在他們發布的 通常是差不多的版本,估計也是網上 copy 一下,自己改改,跑過了就算了,但是通常這樣玩根本沒有太大作用,如果到一家公司,給你一台不能上網的筆記本,20分鐘,你是根本寫不出來快速排序的演...

快速排序演算法C 實現

quick sort stl中也有現成的快速排序演算法,內部實現採用了以下技巧 1 樞軸的選擇採取三數取中的方式 2 後半段採取迴圈的方式實現 3 快速排序與插入排序結合 include include includeusing namespace std 這一版本是最簡單實現版本,對於快速排序的優...