Guest User

Untitled

a guest
Jan 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. Merge Sort
  2.  
  3. #include <iostream.h>
  4. int a[50];
  5. void merge(int,int,int);
  6. void merge_sort(int low,int high)
  7. {
  8. int mid;
  9. if(low<high)
  10. {
  11. mid=(low+high)/2;
  12. merge_sort(low,mid);
  13. merge_sort(mid+1,high);
  14. merge(low,mid,high);
  15. }
  16. }
  17. void merge(int low,int mid,int high)
  18. {
  19. int h,i,j,b[50],k;
  20. h=low;
  21. i=low;
  22. j=mid+1;
  23.  
  24. while((h<=mid)&&(j<=high))
  25. {
  26. if(a[h]<=a[j])
  27. {
  28. b[i]=a[h];
  29. h++;
  30. }
  31. else
  32. {
  33. b[i]=a[j];
  34. j++;
  35. }
  36. i++;
  37. }
  38. if(h>mid)
  39. {
  40. for(k=j;k<=high;k++)
  41. {
  42. b[i]=a[k];
  43. i++;
  44. }
  45. }
  46. else
  47. {
  48. for(k=h;k<=mid;k++)
  49. {
  50. b[i]=a[k];
  51. i++;
  52. }
  53. }
  54. for(k=low;k<=high;k++) a[k]=b[k];
  55. }
  56. void mainmerge()
  57. {
  58. int num,i;
  59.  
  60. cout<<"*******************************************************************
  61. *************"<<endl;
  62. cout<<" MERGE SORT by LEK and the OTHERS
  63. "<<endl;
  64.  
  65. cout<<"*******************************************************************
  66. *************"<<endl;
  67. cout<<endl<<endl;
  68. cout<<"Please Enter THE NUMBER OF ELEMENTS you want to sort [THEN
  69. PRESS
  70. ENTER]:"<<endl;
  71. cin>>num;
  72. cout<<endl;
  73. cout<<"Now, Please Enter the ( "<< num <<" ) numbers (ELEMENTS) [THEN
  74. PRESS ENTER]:"<<endl;
  75. for(i=1;i<=num;i++)
  76. {
  77. cin>>a[i] ;
  78. }
  79. merge_sort(1,num);
  80. cout<<endl;
  81. cout<<"So, the sorted list (using MERGE SORT) will be :"<<endl;
  82. cout<<endl<<endl;
  83.  
  84. for(i=1;i<=num;i++)
  85. cout<<a[i]<<" ";
  86.  
  87. cout<<endl<<endl<<endl<<endl;
  88.  
  89. }
Add Comment
Please, Sign In to add comment