Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. int *m(int *arr, int n, int first, int last) {
  5. int middle, start, fina, j;
  6. int mas[100000];
  7. middle = (first+last) / 2;
  8. start = first;
  9. fina = middle+1;
  10. for (j=first; j<=last; j++)
  11. if ((start<=middle) && ((fina>last) || (arr[start]<arr[fina]))){
  12. mas[j] =arr[start];
  13. start++;
  14. }
  15. else{
  16. mas[j] = arr[fina];
  17. fina++;
  18. }
  19. for (j=first; j<=last; j++)
  20. arr[j] =mas[j];
  21. return arr;
  22. }
  23. int *msort(int *arr, int n, int first, int last){
  24. if (first<last){
  25. msort(arr, n, first, (first+last) / 2);
  26. msort(arr, n, (first+last) / 2+1, last);
  27. m(arr, n , first, last);
  28. }
  29. return arr;
  30. }
  31. int main() {
  32. int arr[1000000], i, n;
  33. scanf("%d", &n);
  34. srand(time(NULL));
  35. for(i=0; i< n; i++){
  36. arr[i] = rand()%1000;
  37. }
  38. msort(arr,n, 0, n-1);
  39. for (i=0; i<=n-1; i++)
  40. printf("%d ", arr[i]);
  41. return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement