Pagini recente » Cod sursa (job #711076) | Cod sursa (job #2256695) | Cod sursa (job #2823800) | Cod sursa (job #1102972) | Cod sursa (job #1788337)
#include <fstream>
#define NR_MARE 500010
using namespace std;
int n, v[NR_MARE];
ifstream in("algsort.in");
ofstream out("algsort.out");
void Read(){
in >> n;
for(int i = 1; i <= n; ++i)
in >> v[i];
}
void Quicksort(int left, int right){
int i = left, j = right, aux, pivot;
pivot = v[(left + right) / 2];
while(i <= j){
while(v[i] < pivot)i++;
while(v[j] > pivot)j--;
if(i <= j){
aux = v[i];
v[i] = v[j];
v[j] = aux;
i++;
j--;
}
}
if(left < j)
Quicksort(left, j);
if(right > i)
Quicksort(i, right);
}
void Print(){
for(int i = 1; i <= n; ++i){
out << v[i] << " ";
}
out << "\n";
}
int main(){
Read();
Quicksort(1, n);
Print();
}