Вы можете вызвать эту функцию
merge_sort(int arr[],int size)
{
\\rest of code
}
из этой функции
merge_sort(int arr[],int left,int right)
{
\\rest of code
}
как
merge_sort( arr + left, right - left + 1 );
В этом случае относительно второй функции параметр left
будет равно 0
, а параметр right будет равен right - left + 1
из-за перемещения указателя на требуемую часть массива.
Таким образом, первая функция может заменить вторую функцию, используя соответствующие аргументы и арифметика указателя c.
Или вторая функция может быть вызвана из первой функции, например
merge_sort( arr, 0, size - 1 );