Pagini recente » Cod sursa (job #2463710) | Cod sursa (job #1540065) | Cod sursa (job #395270) | Cod sursa (job #317491) | Cod sursa (job #2200356)
#include <iostream>
#include <fstream>
#define NMAX 500001
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int N,v[NMAX];
void Read()
{
fin>>N;
for(int i = 1; i <= N; i++)
fin>>v[i];
}
void qSort(int left,int right)
{
if(left >= right) return ;
int pivot=v[(left+right)/2];
int i= left , j = right;
while(i <= j)
{
while(v[i] < pivot)
i++;
while(v[j] > pivot)
j--;
if(i <= j)
{
swap(v[i],v[j]);
i++;
j--;
}
}
qSort(left,j);
qSort(i,right);
}
void write()
{
for(int i =1 ; i <= N; i ++)
fout<<v[i]<<" ";
fout<<'\n';
}
int main()
{
Read();
fin>>N;
qSort(1,N);
write();
return 0;
}