Cod sursa(job #2912035)

Utilizator rares89_Dumitriu Rares rares89_ Data 6 iulie 2022 17:51:17
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda 17_iulie Marime 0.78 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream fin("algsort.in");
ofstream fout("algsort.out");
 
int n, v[500005]; 
 
void QuickSort(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) {
        QuickSort(i, dr);
    }
    if(j > st) {
        QuickSort(st, j);
    }
}
 
int main() {
    fin >> n;
    for(int i = 1; i <= n; i++) {
        fin >> v[i];
    }
    fin.close();
    QuickSort(1, n);
    for(int i = 1; i <= n; i++) {
        fout << v[i] << " ";
    }
	return 0;
}