Pagini recente » Cod sursa (job #1725473) | Cod sursa (job #730551) | Cod sursa (job #962191) | Cod sursa (job #2734300) | Cod sursa (job #3133063)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
void swap(int &a, int &b){
int aux = a;
a = b;
b = aux;
}
void quickSort(int v[], int start, int end){
if(start >= end){
return;
}
int indPivot = end;
int pivot = v[indPivot];
int lastSmaller = start - 1, ind, aux;
for(ind = start; ind <= end; ind++){
if(v[ind] < pivot){
lastSmaller++;
swap(v[lastSmaller],v[ind]);
}
}
// for(int i = 0; i < 8; i++){
// cout<<v[i]<<' ';
// }
// cout<<" "<<pivot;
// cin.get();
swap(v[lastSmaller+1], v[end]);
quickSort(v, start, ind - 2);
quickSort(v, ind + 1, end);
}
int main(){
ifstream in("algsort.in");
ofstream out("algsort.out");
int v[500000], n;
in>>n;
for(int i = 0; i < n; i++){
in>>v[i];
}
quickSort(v, 0, n - 1);
for(int i = 0; i < n; i++){
out<<v[i]<<' ';
}
in.close();
}