Advertisement
Falak_Ahmed_Shakib

all sort for xm

Dec 2nd, 2020 (edited)
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. mergeSort 1:
  2.  
  3. #include <stdio.h>
  4. void merge(int arr[], int l, int m, int r)
  5. {
  6. int i, j, k;
  7. int n1 = m - l + 1;
  8. int n2 = r - m;
  9.  
  10.  
  11. int L[n1], R[n2];
  12.  
  13. for (i = 0; i < n1; i++)
  14. L[i] = arr[l + i];
  15. for (j = 0; j < n2; j++)
  16. R[j] = arr[m + 1 + j];
  17.  
  18.  
  19. i = 0;
  20. j = 0;
  21. k = l;
  22.  
  23. while (i < n1 && j < n2) {
  24. if (L[i] <= R[j]) {
  25. arr[k] = L[i];
  26. i++;
  27. }
  28. else {
  29. arr[k] = R[j];
  30. j++;
  31. }
  32. k++;
  33. }
  34.  
  35.  
  36. while (i < n1) {
  37. arr[k] = L[i];
  38. i++;
  39. k++;
  40. }
  41.  
  42.  
  43. while (j < n2) {
  44. arr[k] = R[j];
  45. j++;
  46. k++;
  47. }
  48. }
  49.  
  50.  
  51. void mergeSort(int arr[], int l, int r)
  52. {
  53. if (l < r) {
  54.  
  55. int m = l + (r - l) / 2;
  56.  
  57.  
  58. mergeSort(arr, l, m);
  59. mergeSort(arr, m + 1, r);
  60.  
  61. merge(arr, l, m, r);
  62. }
  63. }
  64.  
  65.  
  66. void printArray(int A[], int size)
  67. {
  68. int i;
  69. for (i = 0; i < size; i++)
  70. printf("%d ", A[i]);
  71. printf("\n");
  72. }
  73.  
  74. /* Driver code */
  75. int main()
  76. {
  77. int arr[] = { 12, 11, 13, 5, 6, 7 };
  78. int arr_size = sizeof(arr) / sizeof(arr[0]);
  79.  
  80. printf("Given array is \n");
  81. printArray(arr, arr_size);
  82.  
  83. mergeSort(arr, 0, arr_size - 1);
  84.  
  85. printf("\nSorted array is \n");
  86. printArray(arr, arr_size);
  87. return 0;
  88. }
  89.  
  90. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  91.  
  92. merge sort 2:
  93.  
  94. #include <stdio.h>
  95. typedef int ll;
  96. void merging(ll ara[],ll b,ll m,ll e)
  97. {
  98. int i,j,k;
  99.  
  100. int s1=m-b+1;
  101. int s2=e-m;
  102. int l[s1+1],r[s2+1];
  103. for(i=0; i<s1; i++)
  104. {
  105. l[i]=ara[b+i];
  106. }
  107. for(j=0; j<s2; j++)
  108. {
  109. r[j]=ara[m+1+j];
  110. }
  111. i=0;
  112. j=0;
  113. k=b;
  114.  
  115. while(i<s1 && j<s2)
  116. {
  117.  
  118. if(l[i]<r[j])
  119. {
  120. ara[k]=l[i];
  121. k++;
  122. i++;
  123. }
  124. else
  125. {
  126.  
  127. ara[k]=r[j];
  128. k++;
  129. j++;
  130. }
  131.  
  132.  
  133. }
  134.  
  135. for(; i<s1; i++)
  136. {
  137. ara[k]=l[i];
  138. k++;
  139. }
  140.  
  141.  
  142. for(; j<s2; j++)
  143. {
  144. ara[k]=r[j];
  145. k++;
  146. }
  147.  
  148.  
  149.  
  150. }
  151. void merge_sort(ll ara[],ll b,ll e)
  152. {
  153. if(b<e)
  154. {
  155.  
  156.  
  157. ll m=(b+e)/2;
  158.  
  159. merge_sort(ara,b,m);
  160. merge_sort(ara,m+1,e);
  161.  
  162. merging(ara,b,m,e);
  163.  
  164.  
  165. }
  166.  
  167.  
  168.  
  169.  
  170. }
  171.  
  172. int main()
  173. {
  174. int n;
  175.  
  176. scanf("%d",&n);
  177.  
  178. int ara[n+1];
  179.  
  180. for(ll i=0; i<n; i++)scanf("%d",&ara[i]);
  181.  
  182.  
  183. merge_sort(ara,0,n-1);
  184.  
  185.  
  186. for(ll i=0; i<n; i++)printf("%d ",ara[i]);
  187.  
  188. printf("\n");
  189.  
  190.  
  191.  
  192.  
  193. }
  194.  
  195.  
  196. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  197.  
  198.  
  199. bubble_sort : 1
  200. #include <stdio.h>
  201. typedef int ll;
  202. void bubble_sort(int ara[],int n)
  203. {
  204. int i,j,temp;
  205.  
  206. for(i=0;i<n-1;i++)
  207. {
  208. for(j=0;j<n-i-1;j++)
  209. {
  210. if(ara[j]>ara[j+1])
  211. {
  212. temp=ara[j];
  213. ara[j]=ara[j+1];
  214. ara[j+1]=temp;
  215. }
  216. }
  217.  
  218.  
  219.  
  220. }
  221.  
  222.  
  223.  
  224.  
  225. }
  226.  
  227. int main()
  228. {
  229. int n;
  230.  
  231. scanf("%d",&n);
  232.  
  233. int ara[n+1];
  234.  
  235. for(ll i=0; i<n; i++)scanf("%d",&ara[i]);
  236.  
  237.  
  238. bubble_sort(ara,n);
  239.  
  240.  
  241. for(ll i=0; i<n; i++)printf("%d ",ara[i]);
  242.  
  243. printf("\n");
  244.  
  245.  
  246.  
  247.  
  248. }
  249.  
  250.  
  251.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement