Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int v3[100];
- void interclasare(int v[20], int st1, int dr1, int st2, int dr2)
- {
- int i,j,k;
- i=st1, j=st2;
- k=0;
- while (i<=dr1 && j<=dr2)
- {
- if(v[i]<v[j])
- v3[k++]=v[i++];
- else
- v3[k++]=v[j++];
- }
- if(i>dr1)
- for(i=j;i<=dr2;i++)
- v3[k++]=v[i];
- if(j>dr2)
- for(j=i;j<=dr1;j++)
- v3[k++]=v[j];
- i=0;
- for(k=st1;k<=dr2;k++)
- v[k]=v3[i++];
- }
- void sortare(int v[20], int st, int dr)
- {
- int med = (st+dr)/2;
- if (st < dr)
- {
- sortare(v, st, med);
- sortare(v, med+1, dr);
- interclasare(v, st, med, med+1, dr);
- }
- }
- void main()
- {
- int n = 5;
- int v[5]={3,2,5,1,4};
- sortare(v, 0, n-1);
- for(int i=0;i<n;i++)
- printf("%d ", v[i]);
- }
Add Comment
Please, Sign In to add comment