Cod sursa(job #1725906)

Utilizator serbanmaria15Serban Maria-Catalina serbanmaria15 Data 6 iulie 2016 17:45:10
Problema Sortare prin comparare Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<stdio.h>

void quicksort( unsigned long int v[], int primElement, int ultimElement)
{
	int i=primElement;
	int j=ultimElement;
	int aux;
	int pivot = v[(i+j)/2];
	do
	{
		while( (i < ultimElement) && ( v[i] < pivot)) i++;
		while( (j > primElement) && ( v[j] > pivot)) j--;
		if ( i<=j )
		{
			aux=v[i];
			v[i]=v[j];
			v[j]=aux;
			i++;
			j--;
		}
	}while(i<=j);
	if( primElement < j) quicksort( v, primElement, j);
	if( i < ultimElement) quicksort(v, i, ultimElement);

}

int main()
{
	FILE *inputFile, *outputFile;
	inputFile=fopen("algsort.in","r");
	outputFile=fopen("algsort.out","w");

	int n, i;
	unsigned long int v[200000];
	fscanf(inputFile, "%d", &n);
	for(i=0; i<n; i++)
	{
		fscanf(inputFile, "%d", &v[i]);
		
	}
	quicksort(v, 0, n-1);
	for(i=0; i<n; i++)
	{
		fprintf(outputFile, "%d ", v[i]);
	}
	
	return 0;
}