Pagini recente » Cod sursa (job #2621263) | Cod sursa (job #1907211) | Cod sursa (job #896504) | Cod sursa (job #2816206) | Cod sursa (job #2849824)
#include <fstream>
#define DIM 500001
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,i,a[DIM],b[DIM];
void interclasare(int st,int mid,int dr) {
int i=st;
int j=mid+1;
int k=st-1;
while (i<=mid && j<=dr)
if (a[i]<a[j])
b[++k]=a[i++];
else
b[++k]=a[j++];
while (i<=mid)
b[++k]=a[i++];
while (j<=dr)
b[++k]=a[j++];
for (int i=st;i<=dr;i++)
a[i]=b[i];
}
void sortare(int st,int dr) {
if (st<dr) {
int mid=(st+dr)/2;
sortare(st,mid);
sortare(mid+1,dr);
interclasare(st,mid,dr);
}
}
int main() {
fin>>n;
for (i=1;i<=n;i++)
fin>>a[i];
sortare(1,n);
for (i=1;i<=n;i++)
fout<<a[i]<<" ";
return 0;
}