Cod sursa(job #290223)

Utilizator iulia609fara nume iulia609 Data 27 martie 2009 17:26:40
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include<stdio.h>
#define dim 500001   
using namespace std;   
long long a[dim];   
unsigned long n;   
void qsort(unsigned long inc, unsigned long sf)   
    {unsigned long i,j;   
     long long temp,aux;   
     i=inc;   
     j=sf;   
     temp=a[(i+j)/2];   
     do  
         {while(a[i]<temp) i++;   
          while(a[j]>temp) j--;   
          if(i<j) aux=a[i],a[i]=a[j],a[j]=aux;   
          if(i<=j) j=j-1,i+=1;   
         } while(i<=j);    
     if(inc<j) qsort(inc,j);   
     if(i<sf) qsort(i,sf);       
    }   
            
 int main()   
    {unsigned long i;   
     FILE*f=fopen("algsort.in","r");
	 FILE*g=fopen("algsort.out","w");   
     fscanf(f,"%lu",&n); 
     for(i=1;i<=n;i++)   
        fscanf(f,"%lu",&a[i]); 
     fclose(f);   
     		 
     qsort(1,n);   
     for(i=1;i<=n;i++)   
        fprintf(g,"%lu ",a[i]);    
     fprintf(g,"%c",'\n');   
     fclose(g);   
     return 0;   
    }