Pagini recente » Cod sursa (job #2637796) | Cod sursa (job #2604534) | Cod sursa (job #2457160) | Cod sursa (job #3172304) | Cod sursa (job #2666215)
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int n,v[500000];
void read(){
in>>n;
for(int i=0;i<n;i++){
in>>v[i];
}
}
int partition(int*arr,int l,int r){
int k=l-1,m=arr[r];
for(int i=l;i<=r-1;i++){
if(arr[i]<=m){
k++;
swap(arr[k],arr[i]);
}
}
k++;
swap(arr[k],arr[r]);
return k;
}
void sort(int*arr,int l,int r){
if(l>=r){
return;
}
int piv=partition(arr,l,r);
sort(arr,l,piv-1);
sort(arr,piv+1,r);
}
int main(){
read();
sort(v,0,n-1);
for(int i=0;i<n;i++)
out<<v[i]<<" ";
return 0;
}