Pagini recente » Cod sursa (job #540462) | Cod sursa (job #731358) | Statistici Pasca Nectarie (Pasca_Nectarie) | Cod sursa (job #741583) | Cod sursa (job #1458052)
#include <fstream>
#include <iostream>
using namespace std;
///// DESCRIPTION
// THIS PROGRAM EMPLOYS QUICKSORT
// TO ORDER A LIST OF N ELEMENTS
// IN ASCENDING ORDER
/////
void qsort(int, int, int[]);
int main(int argc, char **argv)
{
// INPUT
ifstream indata("algsort.in");
int n;
indata >> n;
int v[n];
for (int i = 0; i < n; i++) {
indata >> v[i];
}
indata.close();
// SORT
qsort(0, n-1, v);
// OUTPUT
ofstream outdata("algsort.out");
for (int i = 0; i < n; i++) {
cout << i << " ";
}
outdata.close();
return 0;
}
void qsort(int ls, int ld, int v[]) {
int middle = (ls + ld) / 2;
int i = ls, j = ld;
do {
while (v[i] < v[middle]){
i++;
}
while (v[j] > v[middle]) {
j--;
}
if (i <= j) {
int aux = v[i];
v[i] = v[j];
v[j] = aux;
i++;
j--;
}
} while (i < j);
if (j > ls) {
qsort(ls, j, v);
}
if (i < ld) {
qsort(i, ld, v);
}
}