#include <iostream>
#include <cstring>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <queue>
#include <cstdio>
#include <cmath>
#include <stack>
typedef long long ll;
#define INF 0x3f3f3f3f
using namespace std;
const int maxm = 1e5 + 7;
int a[maxm];
void quicksort(int left, int right) {
if(left == right)
return ;
int temp = a[left];
int i = left, j = right;
while(i != j) {
while( a[j] >= temp && i < j) {
j--;
}
while( a[i] < temp && i < j) {
i++;
}
swap(a[i], a[j]);
}
a[i] = temp;
quicksort(left, i);
quicksort(i + 1, right);
}
int main(int argc, char *argv[]) {
for(int i = 1; i <= 10; i++) {
a[i] = rand() % 100 + 1;
}
quicksort(1, 10);
for(int i = 1; i <= 10; i++)
cout << a[i] << " ";
cout << endl;
}
#include <cstring>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <queue>
#include <cstdio>
#include <cmath>
#include <stack>
typedef long long ll;
#define INF 0x3f3f3f3f
using namespace std;
const int maxm = 1e5 + 7;
int a[maxm];
void quicksort(int left, int right) {
if(left == right)
return ;
int temp = a[left];
int i = left, j = right;
while(i != j) {
while( a[j] >= temp && i < j) {
j--;
}
while( a[i] < temp && i < j) {
i++;
}
swap(a[i], a[j]);
}
a[i] = temp;
quicksort(left, i);
quicksort(i + 1, right);
}
int main(int argc, char *argv[]) {
for(int i = 1; i <= 10; i++) {
a[i] = rand() % 100 + 1;
}
quicksort(1, 10);
for(int i = 1; i <= 10; i++)
cout << a[i] << " ";
cout << endl;
}