Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>using namespace std;void merging(unsigned int a[], int abegin, int aend, int bbegin, int bend, int *count){int i, j;for (i = abegin, j = bbegin; i < aend&&j < bend;){int temp;if (a[i] >= a[j]){(*count) = (*count) + aend - i + 1;temp = a[j];int k;for (k = j; k>i; k--)a[k] = a[k - 1];a[k] = temp;j++;}elsei++;}}void merging1(unsigned int a[], int begin, int end, int * count){int abegin, aend, bbegin, bend;abegin = begin;aend = (begin + end) / 2;bbegin = aend + 1;bend = end;if (begin == end)return;