Professional Documents
Culture Documents
Sortare
Sortare
#include <stdio.h>
#include <stdlib.h>
void interclasare(int v[], int w[], int st, int m, int dr)
{
int i, j, k;
i=st;
j=m+1;
k=0;
while(i<=m && j<=dr)
if(v[i]<=v[j])
w[k++]=v[i++];
else
w[k++]=v[j++];
while(i<=m)
w[k++]=v[i++];
while(j<=dr)
w[k++]=v[j++];
for(i=0;i<k;i++)
v[i+st]=w[i];
}
void mergesort(int v[], int w[], int st, int dr)
{
int m;
if(st<dr)
{
m=(st+dr)/2;
mergesort(v,w,st,m);
mergesort(v,w,m+1,dr);
interclasare(v,w,st,m,dr);
}
}
int main() {
mergesort(v,w,0,nr-1);