Pagini recente » Cod sursa (job #1681206) | Cod sursa (job #1029465) | Cod sursa (job #1564419) | Cod sursa (job #1257358) | Cod sursa (job #2983995)
#include <iostream>
#include <fstream>
int w[100]= {};
void mergesort(int left, int right, v[])
{
int i,j,k=0;
mid=(left+right)/2;
mergesort(left,mid,v[]);
mergesort(mid+1,right,v[]);
for (i=left,j=mid+1; i<=mid && j<=right;)
{
if (v[i]<v[j])
{
w[k]=v[i];
i++;
}
else
{
w[k]=v[j];
j++;
}
k++;
}
for (;i<=mid;i++)
w[k]=v[i],k++;
for (;j<=right;j++)
w[k]=v[j],k++;
}
}
using namespace std;
int main()
{
ifstream f1 ("algsort.in");
ofstream f2 ("algsort.out");
int n,i,cnt=1;
f1>>n;
int v[n];
for (i=0; i<n; i++)
f1>>v[i];
mergesort(0,n,v);
//*while (cnt!=0)
//{
// cnt=0;
// for (i=0; i<n-1; i++)
// if (v[i]>v[i+1])
// {
// swap(v[i],v[i+1]);
// cnt++;
//
// }
//}
for (i=0; i<n; i++)
f2<<w[i]<< " ";
return 0;
}