快速排序的實現
#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);
}
相關文章
- GO 實現快速排序Go排序
- 快速排序 java實現排序Java
- Swift實現快速排序Swift排序
- java實現快速排序Java排序
- 快速排序(java實現)排序Java
- Python實現的快速排序Python排序
- 快速排序(Quicksort)的Javascript實現排序UIJavaScript
- 排序演算法之快速排序的實現排序演算法
- php實現 歸併排序,快速排序PHP排序
- 快速排序三種實現排序
- python實現快速排序Python排序
- python排序演算法的實現-快速排序Python排序演算法
- Go實現氣泡排序和快速排序Go排序
- JavaScript實現標準快速排序JavaScript排序
- 快速排序的四種python實現排序Python
- js實現兩種實用的排序演算法——冒泡、快速排序JS排序演算法
- 歸併排序與快速排序的一個實現與理解排序
- 快速排序的三種實現方法 (C++)排序C++
- Python3實現快速排序Python排序
- 快速排序(quicksort)演算法實現排序UI演算法
- 歸併排序與快速排序的簡明實現及對比排序
- 排序演算法-Java實現快速排序演算法排序演算法Java
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- 七、排序,選擇、冒泡、希爾、歸併、快速排序實現排序
- 你所不知道的快速排序(js實現)排序JS
- 快速排序演算法C++實現排序演算法C++
- 隨機快速排序Java程式碼實現隨機排序Java
- OC實現選擇、插入和快速排序排序
- bash shell 實現快速排序演算法排序演算法
- 直播系統原始碼,實現快速排序和歸併排序原始碼排序
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- C++快速排序與歸併排序的實現(LeetCode 912)C++排序LeetCode
- 學習筆記----快速排序的java實現及其改良筆記排序Java
- 快速排序演算法(C語言實現)排序演算法C語言
- 二十、快速排序演算法——JAVA實現(遞迴)排序演算法Java遞迴
- Array.sort 演算法原理(插入排序\快速排序in-place實現)演算法排序
- 服務計算 TDD實踐——實現快速排序演算法排序演算法
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序