#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
void swap(int& a, int& b) {
int t = a;
a = b;
b = t;
}
void quicksort(vector<int>&ptr,int begin,int end) {
if (begin < ptr.size() && end < ptr.size()) {
int base = ptr[begin];
int i = begin, j = end;
/*for (auto a : ptr)
cout << a << ends;
cout << endl;*/
//cout << i << " " << j << endl;
if (begin < end) {
while (i < j) {
if (ptr[j] < base)
{
if (ptr[i] > base) {
swap(ptr[i], ptr[j]);
}
else i++;
}
else j--;
}
swap(ptr[begin], ptr[i]);
for (auto a : ptr)
cout << a << ends;
cout << endl;
quicksort(ptr, begin, i - 1);
quicksort(ptr, i + 1, end);
}
}
};
int main()
{
vector<int>a{ 61,177,61,74,19,31,45,55,101,81 };
for (auto i : a)cout << i << ends;
cout << endl;
quicksort(a,0,a.size()-1);
for (auto i : a)cout << i << ends;
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 »
c++实现快排基础版本