Pagini recente » Cod sursa (job #460526) | Cod sursa (job #1632158) | Cod sursa (job #2686024) | Cod sursa (job #2522548) | Cod sursa (job #960853)
Cod sursa(job #960853)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int n,x;
vector<int> a;
int choosePivot(int from,int to){
int pivot=a[from];int pos=from;
for(int i=from+1;i<=to;i++){
if(a[i]<pivot){
int aux=a[i];
a[i]=a[pos+1];
a[pos+1]=aux;
aux=a[pos+1];
a[pos+1]=a[pos];
a[pos]=aux;
pos++;
}
}
return pos;
}
void quickSort(int from,int to){
if(from>=to) return;
int pivot = choosePivot(from,to);
quickSort(from,pivot-1);
quickSort(pivot+1,to);
}
int main(){
ifstream in("algsort.in");
ofstream out("algsort.out");
in>>n;
for(int i=0;i<n;i++){in>>x;a.push_back(x);}
quickSort(0,a.size()-1);
for(int i=0;i<a.size();i++){
out<<a[i]<<" ";
}
return 0;
}