Pagini recente » Cod sursa (job #1548372) | Cod sursa (job #1240031) | Cod sursa (job #1713671) | Cod sursa (job #617842) | Cod sursa (job #1535352)
# include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500005],w[500005],i,n;
void interclaseaza(int st,int mid,int dr){
int i=st,j=mid+1,k=st-1;
while(i<=mid&&j<=dr){
if(v[i]<v[j]){
k++;
w[k]=v[i];
i++;
}
else{
k++;
w[k]=v[j];
j++;
}
}
for(;i<=mid;i++){
w[++k]=v[i];
}
for(;j<=dr;j++){
w[++k]=v[j];
}
for(i=st;i<=dr;i++){
v[i]=w[i];
}
}
void sortare(int st,int dr){
if(st<dr){
int mid=(st+dr)/2;
sortare(st,mid);
sortare(mid+1,dr);
interclaseaza(st,mid,dr);
}
}
int main () {
fin>>n;
for(i=1;i<=n;i++){
fin>>v[i];
}
sortare(1,n);
for(i=1;i<=n;i++){
fout<<v[i]<<" ";
}
return 0;
}