c/c++基礎(chǔ)簡(jiǎn)單易懂的快速排序算法
快速排序就是找一個(gè)基準(zhǔn),然后其左邊要比他小,右邊要比他大
int partition(int* a, int left, int right)
{
int pivot = left;//找最開(kāi)始位置為基準(zhǔn)
int index = left + 1;
for (int i = index; i <= right; i++)
{
if (a[i] < a[pivot])
{
swap(a, i, index);
index++;
}
}
swap(a, pivot, index - 1);//index-1表示找到比a[pivot]要小的個(gè)數(shù)
return index - 1;
}
然后通過(guò)遞歸的方法對(duì)基準(zhǔn)左右兩邊都進(jìn)行這樣的排序 知道一個(gè)元素為止
void quick_sort(int* a, int left, int right)
{
if (left < right)
{
int pivot = partition(a, left, right);
quick_sort(a, left, pivot);//調(diào)用這個(gè)遞歸函數(shù)是將左邊全部排好序
quick_sort(a, pivot+1, right);//將右邊排好
}
}
以上就是c/c++基礎(chǔ)簡(jiǎn)單易懂的快速排序算法的詳細(xì)內(nèi)容,更多關(guān)于c/c++快速排序的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語(yǔ)言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法
這篇文章主要介紹了C語(yǔ)言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
c語(yǔ)言main函數(shù)使用及其參數(shù)介紹
這篇文章主要介紹了c語(yǔ)言main函數(shù)使用及其參數(shù)介紹,需要的朋友可以參考下2014-04-04
C++圖文并茂講解類(lèi)型轉(zhuǎn)換函數(shù)
類(lèi)型轉(zhuǎn)換(type cast),是高級(jí)語(yǔ)言的一個(gè)基本語(yǔ)法。它被實(shí)現(xiàn)為一個(gè)特殊的運(yùn)算符,以小括號(hào)內(nèi)加上類(lèi)型名來(lái)表示,接下來(lái)讓我們一起來(lái)詳細(xì)了解2022-05-05
C++ OpenCV實(shí)戰(zhàn)之圖像透視矯正
這篇文章主要介紹了通過(guò)C++ OpenCV實(shí)現(xiàn)圖像的透視矯正,文中的示例代碼講解詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的參考價(jià)值,感興趣的可以了解一下2022-01-01

