Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define N 1000
- int mas[N];
- int arr[N];
- void merge(int l, int r, int mid) {
- int i = l;
- int j = mid + 1;
- int k = i;
- while (i <= mid && j <= r) {
- if (mas[i] < mas[j]) {
- arr[k] = mas[i];
- i++;
- }
- else {
- arr[k] = mas[j];
- j++;
- }
- k++;
- }
- while (i <= mid) arr[k++] = mas[i++];
- while (j <= r) arr[k++] = mas[j++];
- for (int a = l; a <= r; a++) mas[a] = arr[a];
- }
- void mergeSort(int l,int r) {
- if (l >= r) return;
- int mid = (l + r) / 2;
- mergeSort(l, mid);
- mergeSort(mid + 1, r);
- merge(l, r, mid);
- }
Add Comment
Please, Sign In to add comment