Cod sursa(job #672982)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 3 februarie 2012 17:05:31
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<fstream> 
#define CT 501010 
using namespace std; 
ifstream f("algsort.in"); 
ofstream g("algsort.out"); 
void quicksort(int v[CT], int left, int right); 
int main() 
{ 
    int N, v[CT], i; 
    f>>N; 
    for(i=1; i<=N; i++) 
    { 

        f>>v[i]; 
    } 
    quicksort(v, 1, N); 
    for(i=1; i<=N; i++) g<<v[i]<<" "; 
    return 0; 
} 
void quicksort(int v[CT], int left, int right) 
{ 
    int aux, mid, i,j; 
    i=left; 
    j=right; 
    mid=v[(left+right)/2]; 
    while(i<=j) 
    { 
        while(v[i]<mid) 
        i++; 
        while(v[j]>mid) 
        j--; 
        if(i<=j) 
        { 
            aux=v[i]; 
            v[i]=v[j]; 
            v[j]=aux; 
            i++; 
            j--; 
        } 
    } 
    if(left<j) 
    quicksort(v, left, j); 
    if(i<right) 
    quicksort(v, i, right); 
}