Cod sursa(job #935189)

Utilizator whoasdas dasdas who Data 1 aprilie 2013 23:33:59
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
/*
ID: i.adri1
PROG: sdo
LANG: C++
*/

#include <iostream>
#include <fstream>
#include <assert.h>
#include <math.h>
#include <string.h>
#include <string>
#include <list>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <algorithm>
using namespace std;

ifstream in("sdo.in");
ofstream out("sdo.out");

void sdo(int *v, int k, int l, int r)
{
    if (r - l < 1)
        return;
    int piv = v[r];
    int pfge = l;
    for (int i = l; i < r; i++)
        if (v[i] < piv) {
            swap(v[i], v[pfge]);
            pfge++;
        }
    swap(v[pfge], v[r]);
    sdo(v, k, l, pfge - 1);
    sdo(v, k, pfge + 1, r);
}

int main()
{
    int n, k = 0;
    in>>n;
    int v[n];
    for (int i = 0; i < n; i++)
        in>>v[i];
    sdo(v, k, 0, n-1);
    for (int i = 0; i < n; i++)
        out<<v[i]<<" ";
    out<<endl;
    //out<<v[k-1]<<endl;
    return 0;
}