c/c++基礎(chǔ)簡單易懂的快速排序算法
更新時間:2021年11月18日 16:24:08 作者:xr415
這篇文章主要為大家介紹了c/c++基礎(chǔ)非常簡單易懂的快速排序算法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
快速排序就是找一個基準,然后其左邊要比他小,右邊要比他大
int partition(int* a, int left, int right)
{
int pivot = left;//找最開始位置為基準
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]要小的個數(shù)
return index - 1;
}
然后通過遞歸的方法對基準左右兩邊都進行這樣的排序 知道一個元素為止
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)用這個遞歸函數(shù)是將左邊全部排好序
quick_sort(a, pivot+1, right);//將右邊排好
}
}
以上就是c/c++基礎(chǔ)簡單易懂的快速排序算法的詳細內(nèi)容,更多關(guān)于c/c++快速排序的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法
這篇文章主要介紹了C語言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02

