Pagini recente » Cod sursa (job #2773152) | Cod sursa (job #2219606) | Cod sursa (job #505643) | Cod sursa (job #2734204) | Cod sursa (job #410511)
Cod sursa(job #410511)
#include <fstream>
using namespace std;
ifstream FIn("algsort.in");
ofstream FOut("algsort.out");
const int NMax=1<<10;
int V[NMax];
void IN(){
FIn>>V[0];
for(int i=1;i<=V[0];++i){
FIn>>V[i];
}
}
void OUT(){
for(int i=1;i<=V[0];++i){
FOut<<V[i]<<" ";
}
}
void MERGE_SORT(int l,int r){
if(l==r){
return;
}
int m=(l+r)>>1,aux[V[0]+1];
MERGE_SORT(l,m);
MERGE_SORT(m+1,r);
for(int i=l,k=l,j=m+1;i<=m||j<=r;++k){
if(j>r||(i<=m&&V[i]<V[j])){
aux[k]=V[i];
++i;
}
else{
aux[k]=V[j];
++j;
}
}
for(int i=l;i<=r;++i){
V[i]=aux[i];
}
}
int main(){
IN();
MERGE_SORT(1,V[0]);
OUT();
return 0;
}