Pagini recente » Cod sursa (job #2954661) | Cod sursa (job #250591) | Cod sursa (job #2978023) | Cod sursa (job #2423301) | Cod sursa (job #2407061)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
using namespace std;
void inter(int a[],int s,int m,int d){
int i=s,j=m+1,k=1,c[100];
while(i<=m && j<=d)
if(a[i]<a[j]) c[k++]=a[i++];
else c[k++]=a[j++];
while(i<=m) c[k++]=a[i++];
while(j<=d) c[k++]=a[j++];
k=1;
for(i=s;i<=d;i++) a[i]=c[k++];
}
int afisare(int a[],int n){
for(int i=1;i<=n;i++)
fout<<a[i]<<" ";
}
void citeste(int a[],int &n){
fin>>n;
for(int i=1;i<=n;i++) fin>>a[i];
}
void merge_sort(int a[],int s,int d){
int m;
if(s<d){
m=s+(d-s)/2;
merge_sort(a,s,m);
merge_sort(a,m+1,d);
inter(a,s,m,d);
}
}
int main(){
int a[100],n;
citeste(a,n);
merge_sort(a,1,n);
afisare(a,n);
return 0;
}