Cod sursa(job #1536427)

Utilizator Vele_GeorgeVele George Vele_George Data 26 noiembrie 2015 09:46:42
Problema Sortare prin comparare Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

vector<long long> v;
int n, x;
void swich(long long &x, long long &y)
{
    long long aux = x;
                x = y;
                y = aux;
    return;
}
void quick_sort(vector<long long> &a, int st, int dr)
{
    if (st>=dr) return;
    int mid = (st+dr)/2;
    swich(a[mid], a[dr]);
    int j=st;
    for(int i=st; i<dr; i++)
        if (a[i]<=a[dr]) swich(a[j++],a[i]);
    swich(a[j], a[dr]);
    quick_sort(a, st, j-1);
    quick_sort(a, j+1, dr);
    return;
}

int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    f >>  n;
    for(int i=1; i<=n; i++)
    {
        f >> x;
        v.push_back(x);
    }
    quick_sort(v, 0, n-1);
    for(int i=0; i<n; i++)
        g << v[i] << " ";

    f.close();
    g.close();
    return 0;
}