Pagini recente » Cod sursa (job #1646223) | Profil EugenStoica | Cod sursa (job #3237446) | Cod sursa (job #3245591) | Cod sursa (job #1502687)
#include <fstream>
#include <queue>
#include <cstring>
#include <ctime>
#include <stdlib.h>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
const int NMAX = 500001;
int N;
int v[NMAX];
void read() {
fin >> N;
for(int i = 1 ; i <= N; ++i)
fin >> v[i];
}
void quicksort(int st, int dr) {
if(dr <= st) return;
int pivot = dr;
int index = st;
for(int i = st ; i < dr; ++i)
if(v[pivot] > v[i])
swap(v[index++], v[i]);
swap(v[index], v[dr]);
if(index - 1 > st)
quicksort(st, index - 1);
if(index + 1 < dr)
quicksort(index + 1, dr);
}
int main() {
read();
//srand(time(NULL));
quicksort(1, N);
for(int i = 1; i <= N; i++)
fout << v[i] << " ";
return 0;
}