Pagini recente » Cod sursa (job #1834033) | Cod sursa (job #362837) | Cod sursa (job #2616356) | Cod sursa (job #2826096) | Cod sursa (job #3133067)
#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 pivot = v[end], lastSmaller = start - 1, pointer;
for(pointer = start; pointer <= end - 1; ++pointer){
if(v[pointer] < pivot){
lastSmaller++;
swap(v[lastSmaller], v[pointer]);
}
}
lastSmaller++;
swap(v[lastSmaller],v[end]);
quickSort(v, start, lastSmaller - 1);
quickSort(v, lastSmaller + 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();
}