Pagini recente » Cod sursa (job #2134115) | Cod sursa (job #2788481) | Cod sursa (job #2533331) | Cod sursa (job #1063458) | Cod sursa (job #1813726)
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int NMAX = 500010;
int N;
int v[NMAX];
void QuickSort (int inc, int sf) {
int aux, i = inc, s = sf;
int pivot = v[inc + rand() % (sf - inc + 1)];
while (i <= s) {
while (v[i] < pivot) i++;
while (v[s] > pivot) s--;
if (i <= s) {
aux = v[i];
v[i] = v[s];
v[s] = aux;
i++;
s--;
}
}
if (inc < s)
QuickSort (inc, s);
if (i < sf)
QuickSort (i, sf);
}
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int main () {
srand (time(NULL));
fin >> N;
for (int i = 1; i <= N; i++) {
fin >> v[i];
}
QuickSort (1, N);
for (int i = 1; i <= N; i++) {
fout << v[i] << " ";
}
fout << '\n';
return 0;
}