Cod sursa(job #2762492)

Utilizator vara2021vara 2021 vara2021 Data 7 iulie 2021 18:18:29
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>
#include <cstring>
#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <string>
#include <compare>
#include <random>
#include <queue>
#include <deque>
#include <stack>
using namespace std;
#define MOD 1000000007

int v[500500];

void qsort(int l, int r) {
    int i = l, j = r, p = v[(l + r) / 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(i, r);
    if (j > l) qsort(l, j);
}

int main() {
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);

    freopen("algsort.in", "r", stdin);
    freopen("algsort.out", "w", stdout);

    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; ++i) {
        scanf("%d", &v[i]);
    }
    qsort(0, n-1);

    for (int i = 0; i < n; ++i) {
        printf("%d ", v[i]);
    }

    return 0;
}