Pagini recente » Cod sursa (job #2565946) | Cod sursa (job #94387) | Cod sursa (job #271934) | Cod sursa (job #253047) | Cod sursa (job #306988)
Cod sursa(job #306988)
//quick sort fisier
#include<iostream>
#include<fstream>
#define NNN 500001
using namespace std;
long n,a[NNN];
void citire()
{
ifstream f("algsort.in");
f>>n;
for(long i=1;i<=n;i++) f>>a[i];
f.close();
}
void quick(int left,int right)
{
long st=left,dr=right,val,aux;
val=a[(st+dr)/2];
do
{
while(a[st]<val)st++;
while(a[dr]>val)dr--;
if(st<=dr){aux=a[st];a[st]=a[dr];a[dr]=aux;st++;dr--;}
}
while(st<=dr);
if(left<dr) quick(left,dr);
if(right>st) quick(st,right);
}
void afisare() {ofstream g("algsort.out"); for(long i=1;i<=n;i++) g<<a[i]<<" "; g.close();}
int main()
{
citire();
quick(1,n);
afisare();
return 0;
}