Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #include <stdio.h>
  2. #define max 10
  3.  
  4. int a[11] = { 10, 14, 19, 26, 27, 31, 33, 35, 42, 44, 0 };
  5. int b[10];
  6.  
  7. void merging(int low, int mid, int high) {
  8. int l1, l2, i;
  9.  
  10. for(l1 = low, l2 = mid + 1, i = low; l1 <= mid && l2 <= high; i++) {
  11. if(a[l1] <= a[l2])
  12. b[i] = a[l1++];
  13. else
  14. b[i] = a[l2++];
  15. }
  16.  
  17. while(l1 <= mid)
  18. b[i++] = a[l1++];
  19.  
  20. while(l2 <= high)
  21. b[i++] = a[l2++];
  22.  
  23. for(i = low; i <= high; i++)
  24. a[i] = b[i];
  25. }
  26.  
  27. void sort(int low, int high) {
  28. int mid;
  29.  
  30. if(low < high) {
  31. mid = (low + high) / 2;
  32. sort(low, mid);
  33. sort(mid+1, high);
  34. merging(low, mid, high);
  35. } else {
  36. return;
  37. }
  38. }
  39.  
  40. int main() {
  41. int i;
  42.  
  43. printf("List before sorting\n\n");
  44.  
  45. for(i = 0; i <= max; i++)
  46. printf("%d ", a[i]);
  47.  
  48. sort(0, max);
  49.  
  50. printf("\n\nList after sorting\n\n");
  51.  
  52. for(i = 0; i <= max; i++)
  53. printf("%d ", a[i]);
  54. printf("\n");
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement