快速排序的實現
#include <iostream>
using namespace std;
int FindPos(int * a, int low, int high)
{
int val = a[low];
while (low < high)
{
while (low < high && a[high] >= val)
--high;
a[low] = a[high];
while (low < high && a[low] <= val)
++low;
a[high] = a[low];
}//終止while迴圈之後low和high一定是相等的
a[low] = val;
return low;
}
void QuickSort(int * a, int low, int high)
{
int pos;
if (low < high)
{
pos = FindPos(a, low, high);
QuickSort(a, low, pos-1);
QuickSort(a, pos + 1, high);
}
}
int main()
{
int a[6] = { 2, 1, 4, 5,0, 3 };
int i;
QuickSort(a, 0, 5);//第二個參數列示第一個元素的下標,第三個元素表示最後一個元素的下標
for (i = 0; i <= 5; ++i)
{
cout << a[i] << endl;
}
system("pause");
return(0);
}
相關文章
- Python實現的快速排序Python排序
- java實現快速排序Java排序
- Swift實現快速排序Swift排序
- GO 實現快速排序Go排序
- 快速排序(java實現)排序Java
- 快速排序 java實現排序Java
- 排序演算法之快速排序的實現排序演算法
- php實現 歸併排序,快速排序PHP排序
- 快速排序的四種python實現排序Python
- 快速排序三種實現排序
- Go實現氣泡排序和快速排序Go排序
- JavaScript實現標準快速排序JavaScript排序
- Python3實現快速排序Python排序
- 歸併排序與快速排序的一個實現與理解排序
- C++快速排序與歸併排序的實現(LeetCode 912)C++排序LeetCode
- 快速排序的三種實現方法 (C++)排序C++
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- 排序演算法-Java實現快速排序演算法排序演算法Java
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 隨機快速排序Java程式碼實現隨機排序Java
- 快速排序演算法C++實現排序演算法C++
- 七、排序,選擇、冒泡、希爾、歸併、快速排序實現排序
- 直播系統原始碼,實現快速排序和歸併排序原始碼排序
- 二十、快速排序演算法——JAVA實現(遞迴)排序演算法Java遞迴
- Array.sort 演算法原理(插入排序\快速排序in-place實現)演算法排序
- 服務計算 TDD實踐——實現快速排序演算法排序演算法
- 三種語言實現快速排序(C++/Python/Java)排序C++PythonJava
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序
- c#實現最簡快速排序,你絕對可以看懂C#排序
- 快速理解7種排序演算法 | python3實現(排序演算法Python
- 排序之快速排序排序
- 資料結構和演算法(Golang實現)(25)排序演算法-快速排序資料結構演算法Golang排序
- 陣列排序的實現陣列排序
- 排序:氣泡排序&快速排序排序
- 資料結構 8 基礎排序演算法詳解、快速排序的實現、瞭解分治法資料結構排序演算法
- 快速排序排序
- 8行程式碼實現快速排序,簡單易懂圖解!行程排序圖解
- 快速排序&&歸併排序排序
- 快速排序快速入門排序