Pagini recente » Cod sursa (job #509813) | Cod sursa (job #3150621) | Cod sursa (job #1203766) | Cod sursa (job #1998654) | Cod sursa (job #1017246)
#include<fstream>
using namespace std;
ifstream fi("algsort.in");
ofstream fo("algsort.out");
int a[500005];
int i,n;
void swap2(int &a,int &b){
int r;
r=a; a=b; b=r;
}
void quick(int left,int right){
int i,j,mid;
mid=a[(left+right)/2];
i=left; j=right;
while (i<j) {
while (a[i]<mid) i++;
while (a[j]>mid) j--;
if (i<=j) {
swap2(a[i],a[j]);
i++;
j--;
}
}
if (left<j) quick(left,j);
if (i<right) quick(i,right);
}
int main(void){
fi>>n;
for(i=1;i<=n;i++) fi>>a[i];
quick(1,n);
for(i=1;i<=n;i++) fo<<a[i]<<" ";
fi.close();
fo.close();
return 0;
}