Cod sursa(job #17916)

Utilizator luana_0105Fagarasan Luana luana_0105 Data 17 februarie 2007 13:39:52
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

int a[100];
FILE *f,*g;

int part (int st,int dr)
{
	int i=st,j=dr,s=-1;
	while(i<j)
	{
		if(a[i]>a[j])
		{
			int t=a[i];
			a[i]=a[j];
			a[j]=t;
			s=-s;
		}
		if(s==-1)
			i++;
		else
			j--;
	}
	return i;
}

void qsort(int st,int dr)
{
	if(st<dr)
	{
		int p=part(st,dr);
		qsort(st,p-1);
		qsort(p+1,dr);
	}
}

void main()
{
	int n;
	f=fopen("qsort.in","r");
	g=fopen("qsort.out","w");

	fscanf(f,"%d",&n);
	for(int i=0;i<n;i++)
		fscanf(f,"%d",&a[i]);
	qsort(0,n-1);
	for(i=0;i<n;i++)
		fprintf(g,"%d ",a[i]);

	fcloseall();
}