Pagini recente » Cod sursa (job #1148454) | Cod sursa (job #976810) | Cod sursa (job #1116187) | Cod sursa (job #1416204) | Cod sursa (job #715793)
Cod sursa(job #715793)
#include<fstream>
#define dim 500010
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int A[dim],B[dim],n;
void merge(int st, int dr) {
if(st==dr)
return ;
int mij=(st+dr)>>1;
int i,j,k;
merge(st,mij);
merge(mij+1,dr);
for(i=st,j=mij+1,k=st;k<=dr;k++){
if((A[i]<A[j] && i<=mij)|| j>dr)
B[k]=A[i++];
else
B[k]=A[j++];
}
for(int u=st;u<=dr;u++)
A[u]=B[u];
}
int main() {
f>>n;
for(int i=1;i<=n;i++)
f>>A[i];
merge(1,n);
for(int i=1;i<=n;i++)
g<<A[i]<<" ";
return 0;
}