Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("algsort.in");
- ofstream fout("algsort.out");
- void quicksort(int a[], int st, int dr) {
- if(st < dr) {
- int mid = (st + dr) >> 1;
- swap(a[st], a[mid]);
- int i = st , j = dr, d = 0;
- while(i < j) {
- if(a[i] > a[j]) {
- swap(a[i], a[j]);
- d = !d;
- }
- i += d;
- j -= !d;
- }
- quicksort(a, st , i - 1);
- quicksort(a, i + 1, dr);
- }
- }
- const int NMAX = 5e5 + 5;
- int N, a[NMAX];
- int main() {
- fin >> N;
- for(int i = 1; i <= N; ++i)
- fin >> a[i];
- quicksort(a, 1, N);
- for(int i = 1; i <= N; ++i)
- fout << a[i] << ' ';
- }
Advertisement
Add Comment
Please, Sign In to add comment