nicuvlad76

Untitled

Dec 21st, 2020
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. #include <iostream>
  2. #define N 100005
  3. using namespace std;
  4. int a[N],n;
  5. void Interclasare(int st, int mij, int dr)
  6. {
  7. int b[N] ,i,j,k;
  8. i=st, j=mij+1,k=0;
  9. while(i<=mij && j<=dr)
  10. if(a[i]<a[j])b[++k]=a[i++];
  11. else b[++k]=a[j++];
  12. while(i<=mij) b[++k]=a[i++];
  13. while(j<=dr) b[++k]=a[j++];
  14. k=0;
  15. for(i=st;i<=dr;i++)a[i]=b[++k];///in a pe b
  16. }
  17. void MS(int st, int dr)
  18. {
  19. if(st<dr)
  20. {
  21. int mij=(st+dr)/2;
  22. MS(st,mij);
  23. MS(mij+1,dr);
  24. Interclasare(st,mij,dr);
  25. }
  26. }
  27. void Citire()
  28. {
  29. cin>>n;
  30. for(int i=1;i<=n;i++)cin>>a[i];
  31. }
  32. void Afisare()
  33. {
  34. for(int i=1;i<=n;i++)cout<<a[i]<<' ';
  35. }
  36. int main()
  37. {
  38. Citire();
  39. MS(1,n);
  40. Afisare();
  41. return 0;
  42. }
  43.  
Advertisement
Add Comment
Please, Sign In to add comment