Cod sursa(job #2859202)

Utilizator rares89_Dumitriu Rares rares89_ Data 28 februarie 2022 23:34:45
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream fin("algsort.in");
ofstream fout("algsort.out");

int n, v[500005]; 

void Qsort(int st, int dr) {
    int i = st, j = dr, val = v[ (st + dr) / 2 ];
    while(i < j) {
        while(v[i] < val) {
            i++;
        }
        while(v[j] > val) {
            j--;
        }
        if(i <= j) {
            swap(v[i], v[j]);
            i++;
            j--;
        }
    }
    if(i < dr) {
        Qsort(i, dr);
    }
    if(j > st) {
        Qsort(st, j);
    }
}

int main() {
    fin >> n;
    for(int i = 1; i <= n; i++) {
        fin >> v[i];
    }
    fin.close();
    Qsort(1, n);
    for(int i = 1; i <= n; i++) {
        fout << v[i] << " ";
    }
	return 0;
}