Pagini recente » Cod sursa (job #1636323) | Cod sursa (job #694803) | Cod sursa (job #43660) | Cod sursa (job #2414048) | Cod sursa (job #2482582)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500010], n;
/*int pivot(int st, int dr) {
int i = st, j = dr, di = 1, dj = 0;
while(i < j) {
if(v[i] > v[j]) {
int aux = v[i];
v[i] = v[j];
v[j] = aux;
di = 1-di;
dj = 1-dj;
}
i += di;
j -= dj;
}
return i;
}*/
int pivot(int st, int dr) {
int pivot = v[dr];
int i = st-1;
for(int j = st; j < dr; j++)
if(v[j] < pivot) {
i++;
int aux = v[i];
v[i] = v[j];
v[j] = aux;
}
int aux = v[i+1];
v[i+1] = v[dr];
v[dr] = aux;
return i+1;
}
void quicksort(int st, int dr) {
if(st < dr) {
int p = pivot(st, dr);
quicksort(st, p-1);
quicksort(p+1, dr);
}
}
void insertionsort() {
for(int i = 1; i < n; i++) {
int p = i;
int key = v[i];
while(p > 0 && v[p-1] > key) {
v[p] = v[p-1];
p--;
}
v[p] = key;
}
}
int main() {
fin >> n;
for(int i = 0; i < n; i++)
fin >> v[i];
sort(v, v+n);
//insertionsort();
//quicksort(0, n-1);
for(int i = 0; i < n; i++)
fout << v[i] << ' ';
}