Cod sursa(job #690218)

Utilizator mihaiAgapeMihai Agape mihaiAgape Data 25 februarie 2012 13:31:35
Problema Sortare prin comparare Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#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;
}