Guest User

Untitled

a guest
Jul 15th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int v3[100];
  4.  
  5. void interclasare(int v[20], int st1, int dr1, int st2, int dr2)
  6. {
  7. int i,j,k;
  8. i=st1, j=st2;
  9. k=0;
  10.  
  11. while (i<=dr1 && j<=dr2)
  12. {
  13. if(v[i]<v[j])
  14. v3[k++]=v[i++];
  15. else
  16. v3[k++]=v[j++];
  17. }
  18.  
  19. if(i>dr1)
  20. for(i=j;i<=dr2;i++)
  21. v3[k++]=v[i];
  22. if(j>dr2)
  23. for(j=i;j<=dr1;j++)
  24. v3[k++]=v[j];
  25. i=0;
  26. for(k=st1;k<=dr2;k++)
  27. v[k]=v3[i++];
  28. }
  29.  
  30.  
  31. void sortare(int v[20], int st, int dr)
  32. {
  33. int med = (st+dr)/2;
  34.  
  35. if (st < dr)
  36. {
  37. sortare(v, st, med);
  38. sortare(v, med+1, dr);
  39.  
  40. interclasare(v, st, med, med+1, dr);
  41. }
  42. }
  43.  
  44.  
  45. void main()
  46. {
  47. int n = 5;
  48. int v[5]={3,2,5,1,4};
  49.  
  50. sortare(v, 0, n-1);
  51.  
  52. for(int i=0;i<n;i++)
  53. printf("%d ", v[i]);
  54.  
  55. }
Add Comment
Please, Sign In to add comment