Pagini recente » Cod sursa (job #3282006) | Cod sursa (job #2244235) | Cod sursa (job #867136) | Cod sursa (job #3223727) | Cod sursa (job #1023537)
#include<iostream.h>
#include<fstream.h>
int a[100];
void merge(int st,int mij,int dr)
{int b[1000];
int i=st;
int k=1;
int j=mij+1;
while(i<=mij && j<=dr)
if (a[i]<a[j])
b[k++]=a[i++];
else
b[k++]=a[j++];
while (i<=mij)
b[k++]=a[i++];
while (j<=dr)
b[k++]=a[j++];
int t=st;
for (k=1;k<=(dr-st)+1;k++)
a[t++]=b[k];
}
void sort(int st,int dr)
{int mij;
if (st<dr)
{ mij=(st+dr)/2;
sort(st,mij);
sort(mij+1,dr);
merge(st,mij,dr);
}
}
int main()
{int n,i,dr,st;
ifstream f("algsort.in");
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
f.close();
sort(1,n);
ofstream g("algsort.out");
for(i=1;i<=n;i++)
g<<a[i]<<" ";
}