Pagini recente » Cod sursa (job #3350143) | Cod sursa (job #12544) | Cod sursa (job #2194080) | Cod sursa (job #3310016) | Cod sursa (job #3317320)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
const int NMAX=500000;
int aux[NMAX];
int v[NMAX];
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int interclasare(int v[],int st,int dr){
int m=(st+dr)/2;
int i=st;
int k=st;
int j=m+1;
while(i<m+1 && j<dr+1){
if(v[i]<=v[j]){
aux[k++]=v[i++];
}else{
aux[++k]=v[j++];
}
}
while(i<=m){
aux[k++]=v[i++];
}
while(j<=dr){
aux[k++]=v[j++];
}
for(int i=st;i<=dr;++i){
v[i]=aux[i];
}
}
void mergesort(int v[],int st,int dr){
if(st==dr){
return;
}
int mij=(st+dr)/2;
mergesort(v,st,mij);
mergesort(v,mij+1,dr);
interclasare(v,st,dr);
}
int main(){
int n;
fin>>n;
for(int i=0;i<n;++i){
fin>>v[i];
}
mergesort(v,0,n-1);
for(int i=0;i<n;++i){
fout<<v[i];
}
}