Pagini recente » Cod sursa (job #1285122) | Clasament preONI 2007, Runda 1, Clasa a 9-a si gimnaziu | Cod sursa (job #1321123) | Cod sursa (job #2078773) | Cod sursa (job #2611418)
#include <fstream>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout("algsort.out");
int v[500005];
void quick_sort(int st, int dr)
{
int i = st, j = dr;
int x = v[rand()% (dr-st+1) + st];
while(i < j)
{
while(v[i] < x) i++;
while(v[j] > x) j--;
if(i <= j) swap(v[i++], v[j--]);
}
if(j > st) quick_sort(st, j);
if(i < dr) quick_sort(i, dr);
}
int main()
{
int n;
fin >> n;
for(int i = 1; i <= n; ++i) fin >> v[i];
quick_sort(1, n);
for(int i = 1; i <= n; ++i) fout << v[i] << " ";
return 0;
}