Pagini recente » Cod sursa (job #1560414) | Cod sursa (job #2369912) | Cod sursa (job #138768) | Cod sursa (job #3196892) | Cod sursa (job #3150688)
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <unordered_map>
#include <algorithm>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n;
int arr[500001];
void read() {
f>>n;
for(int i = 1;i <= n;++i) {
f>>arr[i];
}
}
int partition(int left, int right) {
int index = left - 1;
int p = arr[right];
for(int i = left;i <= right;++i) {
if(arr[i] < p) {
++index;
swap(arr[i], arr[index]);
}
}
++index;
swap(arr[index], arr[right]);
return index;
}
void quickSort(int left, int right) {
if(left < right) {
int p = partition(left, right);
quickSort(left, p - 1);
quickSort(p + 1, right);
}
}
void solve() {
quickSort(1, n);
for(int i = 1;i <= n;++i) {
g<<arr[i]<<" ";
}
}
int main() {
read();
solve();
return 0;
}