Cod sursa(job #2422295)

Utilizator test666014test test test666014 Data 18 mai 2019 12:56:37
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <iomanip>
#include <unordered_map>
#include <unordered_set>
#include <set>
#include <queue>
#include <memory>
#include <algorithm>
#include <map>
#include <stack>
#include <vector>
#include <string>
#include <cstring>
#include <functional>
using namespace std;

void qsort(vector<int> &v, int l, int r) {
    int i = l, j = r, p = v[(i+j)/2];
    while (i < j) {
        while (v[i] < p) ++i;
        while (v[j] > p) --j;
        if (i <= j) {
            swap(v[i], v[j]);
            i++;
            j--;
        }
    }
    if (i < r) qsort(v, i, r);
    if (j > l) qsort(v, l, j);
}

int main() {
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    int n;
    scanf("%d", &n);
    vector<int> v;
    v.resize(n);
    for (int i = 0; i < n; ++i) {
        scanf("%d", &v[i]);
    }
    qsort(v, 0, v.size()-1);
    for (int i = 0; i < n; ++i) {
        printf("%d ", v[i]);
    }
    return 0;
}