Cod sursa(job #1019635)

Utilizator cristy202020Totolin Cristian cristy202020 Data 31 octombrie 2013 18:03:08
Problema Sortare prin comparare Scor 40
Compilator c Status done
Runda Arhiva educationala Marime 0.77 kb
#include<stdio.h>

int n,k;
long v[500000];
long p;
int PARTITION( int left, int right, int p)
{
long aux, x;
int i = left;
int j = right;
x = v[left];
while (i<j)
 {
    if(v[i]>v[j])
	{ aux=v[i];
	  v[i]=v[j];
	  v[j]=aux;
	 }
     if (v[i]==x)
	j=j-1;
    else
       i=i+1;
  }
  return i;
}
void QUICKSORT(int left,int right)
{ long pivot=0;
if (left < right)
   { pivot=PARTITION( left, right,pivot);
      QUICKSORT( left, pivot-1);
      QUICKSORT( pivot+1, right);
}
}


int main()
{
    int i,k;
	FILE *f=fopen("algsort.in","r");
	FILE *g=fopen("algsort.out","w");
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++)
       fscanf(f,"%d",&v[i]);
       
	   QUICKSORT(1,n);

	for(k=1;k<=n;k++)
     fprintf(g,"%d ",v[k]);
	return 0;

}