Pagini recente » Cod sursa (job #1514659) | Cod sursa (job #1374237) | Cod sursa (job #363421) | Cod sursa (job #1606481) | Cod sursa (job #867321)
Cod sursa(job #867321)
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <fstream>
#define nmax 500001
using namespace std;
void sort_rapid(int tablou[],int prim,int ultim)
{
int temp,min,max,separator_lista;
min=prim;
max=ultim;
separator_lista=tablou[(prim+ultim)/2];
do {
while (tablou[min]<separator_lista) min++;
while (tablou[max]>separator_lista) max--;
if (min<=max) { temp=tablou[min];
tablou[min++]=tablou[max];
tablou[max--]=temp;
}
}
while (min<=max);
if (prim<max) sort_rapid(tablou,prim,max);
if (min<ultim) sort_rapid(tablou,min,ultim);
}
int main()
{ int i,val[nmax],N;
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>N;
for(i=0; i<=N; ++i)
f>>val[i];
sort_rapid(val,0,N-1);
for( i=0; i<=N; ++i) g<<val[i]<<" ";
f.close();
g.close();
return 0;
}