Pagini recente » Cod sursa (job #2970675) | Cod sursa (job #524657) | Cod sursa (job #306154) | Cod sursa (job #813159) | Cod sursa (job #1020805)
# include <fstream>
# define maxn 500003
using namespace std;
int N,v[maxn];
void Citire()
{
ifstream in("algsort.in");
in >> N;
for( int i = 0 ; i < N ; ++i )
in >> v[i];
in.close();
}
void q_sort( int st , int dr ){
int mij,min,max,temp;
min = st;
max = dr;
mij = v[ st + (dr-st) / 2 ];
do{
for(; v[min] < mij ; ++min );
for(; v[max] > mij ; --max );
if( min <= max ){
temp = v[min];
v[min++] = v[max];
v[max--] = temp;
}
}while( min <= max);
if( st < max ) q_sort(st,max);
if( dr > min ) q_sort(min,dr);
}
void Tipar()
{
ofstream out("algsort.out");
for( int i = 0 ; i < N ; ++i )
out << v[i] << ' ';
out.close();
}
int main()
{
Citire();
q_sort(0,N-1);
Tipar();
}