Cod sursa(job #602470)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 11 iulie 2011 15:51:44
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <cstdio>
#include <algorithm>
using namespace std;

int n,v[500001];

void swap(int &a,int &b)
{   int c=a; a=b; b=c; }

void quicksort(int st,int dr)
{   int i=st,j=dr,mid=v[(i+j)/2];
    while (i<j) {
        while (v[i]<mid) i++;
        while (v[j]>mid) 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()
{   int i;
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    for(i=0;i<n;i++) scanf("%d",&v[i]);
    quicksort(0,n-1);
    for(i=0;i<n;i++) printf("%d ",v[i]);
    return 0;
}