Cod sursa(job #515708)

Utilizator marius135Dumitran Adrian Marius marius135 Data 22 decembrie 2010 11:04:39
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<iostream>
#include<stdio.h>
using namespace std;

void Quick(int* t,int st,int dr) //Sortarea rapida  (!)
 
{     int i=st,j=dr,w,piv=t[(i+j)/2];
   
 do   {
	  while(t[i] < piv) i++; 
	  while(t[j] > piv) j--;
      if(i <= j) {w=t[i]; t[i]=t[j]; t[j]=w; i++; j--;}
      }
  while(j >= i);
 
	 if(st < j) Quick(t,st,j);
	 if(dr > i) Quick(t,i,dr);
 }

int i,v[500001],n;

int main()
{
	freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);
	

cin>>n;

for(i=1;i<=n;i++)
{
	cout<<"v["<<i<<"]=";
	cin>>v[i];
}

Quick(v,1,n);

for(i=1;i<=n;i++)
	cout<<v[i]<<" ";

cin>>i;
}