快速排序C++
#include <iostream>
#include <vector>
using namespace std;
void show(vector<int>& a) {
for (int i = 0; i <= a.size() - 1; i ++) {
cout << a[i] << " ";
}
cout << endl;
}
int quick_sort(vector<int>& a, int left, int right) {
if (left > right) {
return -1;
}
int pivot = a[left];
int i = left;
int j = right;
while (i != j) {
while(i < j && a[j] >= pivot) {
j--;
}
a[i] = a[j];
while (i < j && a[i] <= pivot) {
i++;
}
a[j] = a[i];
}
a[i] = pivot;
quick_sort(a, left, i - 1);
quick_sort(a, i + 1, right);
}
int main() {
vector<int> a;
int t;
for(int i = 1; i <= 5; i++) {
cin >> t;
a.push_back(t);
}
quick_sort(a, 0, a.size() - 1);
show(a);
}
相關文章
- 排序演算法之「快速排序(Quick Sort) _c++ 」排序演算法UIC++
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- 快速排序演算法C++實現排序演算法C++
- C++快速排序與歸併排序的實現(LeetCode 912)C++排序LeetCode
- 快速排序的三種實現方法 (C++)排序C++
- 三種語言實現快速排序(C++/Python/Java)排序C++PythonJava
- 排序之快速排序排序
- 排序:氣泡排序&快速排序排序
- 快速排序排序
- 快速排序&&歸併排序排序
- 快速排序快速入門排序
- 排序演算法 - 快速排序排序演算法
- 選擇排序和快速排序排序
- 四、歸併排序 && 快速排序排序
- 排序演算法__快速排序排序演算法
- 排序演算法:快速排序排序演算法
- 堆排序(C++)排序C++
- python 快速排序Python排序
- 快速排序法排序
- 分治—快速排序排序
- java 快速排序Java排序
- javascript 快速排序JavaScript排序
- 快速排序javaScript排序JavaScript
- js 快速排序JS排序
- 快速排序-java排序Java
- LeetCode:快速排序LeetCode排序
- php插入排序,快速排序,歸併排序,堆排序PHP排序
- 排序演算法之 '快速排序'排序演算法
- C++希爾排序C++排序
- 希爾排序(C++)排序C++
- 快速排序 (Quick Sort)排序UI
- 三種快速排序排序
- 8.22_快速排序排序
- 圖解快速排序圖解排序
- 簡單快速排序排序
- 遞迴-*快速排序遞迴排序
- 2016年藍橋杯C/C++組省賽第四題--快速排序C++排序
- 堆排序和快速排序效能比較排序