Pagini recente » Cod sursa (job #2893317) | Cod sursa (job #1481154) | Cod sursa (job #746480) | Cod sursa (job #2838808) | Cod sursa (job #2266798)
#include <fstream>
using namespace std;
int v[9999999];
int result [999999];
void mergesort (int left, int right){
if(right==left)
return ;
int middle=left+right>>1;
mergesort(left, middle);
mergesort(middle+1,right);
int left1=left;
int right1=middle+1;
for(int i=left;i<=right;i++){
if((right1>right) or (left1<=middle and v[left1]<=v[right1])){
result[i]=v[left1];
left1++;
}
else{
result[i]=v[right1];
right1++;
}
}
for(int i=left;i<=right;i++)
v[i]=result[i];
}
int main()
{
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int n;
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
mergesort(1,n);
for(int i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}