Pagini recente » Cod sursa (job #130694) | Cod sursa (job #2890351) | Cod sursa (job #1236269) | Cod sursa (job #515535) | Cod sursa (job #276953)
Cod sursa(job #276953)
#include <fstream>
using namespace std;
void swap(int &a,int &b){
int t=a;a=b;b=t;
}
int part(int array[],int left, int right){
swap(array[(left+right)/2],array[right]);
int index=left;
for(int i=left;i<right;i++){
if(array[i]<=array[right]){
swap(array[i],array[index]);
index++;
}
}
swap(array[right],array[index]);
return index;
}
void sort(int array[],int left,int right){
if(left<right){
int index=part(array,left,right);
sort(array,left,index-1);
sort(array,index+1,right);
}
}
int main(){
int n;
int v[500000];
ifstream in("algsort.in");
in>>n;
for(int i=0;i<n;i++){
in>>v[i];
}
in.close();
sort(v,0,n-1);
ofstream out("algsort.out");
for(int i=0;i<n;i++){
out<<v[i]<<' ';
}
return 0;
}