Susri

mer

Dec 13th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. #include<stdio.h>
  2. void merge(int a[],int p,int q,int r)
  3. {
  4. int i,j,k;
  5. int n1=q-p+1;
  6. int n2=r-q;
  7. int l[n1],R[n2];
  8. for(i=0;i<n1;i++)
  9. {
  10. l[i]=a[p+i];
  11. }
  12. for(j=0;j<n2;j++)
  13. {
  14. R[j]=a[q+1+j];
  15. }
  16. i=0;
  17. j=0;
  18. for(k=p;k<=r;k++)
  19. {
  20. if(l[i]<=R[j])
  21. {
  22. a[k]=l[i];
  23. i++;
  24. }
  25. else{
  26. a[k]=R[j];
  27. j++;
  28. }
  29. }
  30.  
  31.  
  32.  
  33. }
  34. void mergesort(int a[],int p,int r)
  35. {
  36. if(p<r)
  37. {
  38. int q=(p+r)/2;
  39. mergesort(a,p,q);
  40. mergesort(a,q+1,r);
  41. merge(a,p,q,r);
  42.  
  43.  
  44. }
  45. }
  46. int main()
  47. {
  48. int a[20],n,i;
  49. scanf("%d",&n);
  50. for(i=0;i<n;i++)
  51. {
  52. scanf("%d",&a[i]);
  53. }
  54. mergesort(a,0,n-1);
  55.  
  56. for(i=0;i<n;i++)
  57. {
  58. printf("%d",a[i]);
  59. }
  60.  
  61.  
  62.  
  63.  
  64.  
  65. }
Add Comment
Please, Sign In to add comment