Pagini recente » Cod sursa (job #1979935) | Cod sursa (job #1615617) | Cod sursa (job #2009905) | Rating Raluca Grosan (raluca_g) | Cod sursa (job #690218)
Cod sursa(job #690218)
#include <stdio.h>
#include <stdlib.h>
#define NMAX 10
int v[NMAX],w[NMAX];
void fill(int *v, int n)
{
int i;
srand(1122);
for(i=0;i<n;++i)
v[i]=rand()%1000;
}
void mergesort(int *v, int s, int f)
{
if(s!=f)
{
int m=(s+f)/2,i,j,k;
mergesort(v,s,m);
mergesort(v,m+1,f);
for(k=0,i=s,j=m+1;i<=m||j<=f;k++)
if(j>f||(i<=m&&v[i]<v[j]))
w[k]=v[i++];
else
w[k]=v[j++];
for(k=0;k<f-s+1;k++)
v[s+k]=w[k];
}
}
void print(int *v, int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",v[i]);
printf("\n");
system("pause");
}
int main()
{
fill(v,NMAX);
mergesort(v,0,NMAX-1);
print(v,NMAX);
return 0;
}