Pagini recente » Cod sursa (job #1609818) | Cod sursa (job #1717957) | Cod sursa (job #2149528) | Cod sursa (job #73178) | Cod sursa (job #748464)
Cod sursa(job #748464)
#include<fstream>
#include<stdlib.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[500000],n,pp,si,aux;
void read(){
f>>n;
for(int i=0;i<n;i++)
f>>a[i];
}
void qsort(int i,int j){
if(i<j){
if(i==j+1){
if(a[i]>a[j])
swap(a[i],a[j]);}
else{
pp=i+(j-i)/2;
si=i;
swap(a[j],a[pp]);
for(int k=i;k<j;k++)
if(a[k]<a[j]){
swap(a[k],a[si]);
++si;
}
}
swap(a[j],a[si]);
qsort(i,si-1);
qsort(si+1,j);
}
}
int main(){
read();
qsort(0,n-1);
for(int i=0;i<n;i++)
g<<a[i]<<" ";
return 0;
}