Cod sursa(job #1396382)

Utilizator ArkinyStoica Alex Arkiny Data 22 martie 2015 14:36:15
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
using namespace std;

int v[500000];
ifstream in("algsort.in");
ofstream out("algsort.out");
void qsort(int i,int j)
{
  if(i<j)
  {
	int st=i, k,p=(i+j)/2;
	for(k=i;k<=j;k++)
		if(v[k]<v[p])
		{
			if(p==k)
				  st--;
			else
			{
				if(p==st)
				  p=k;
			    swap(v[st++],v[k]);
			}
		}
	swap(v[st],v[p]);

	qsort(i,st-1);
	qsort(st+1,j);
  }
  
}

int main()
{
	int n;
	in>>n;
	for(int i=0;i<n;i++)
		in>>v[i];
	qsort(0,n-1);
	for(int i=0;i<n;i++)
		out<<v[i]<<' ';
	in.close();
	out.close();
	return 0;
}