这里在实例化时候为什么没有确定l 和r 的值?
来源:3-2 归并排序法的实现
好嗨难
2020-12-30
SortTestHelper::testSort("Merge Sort", mergeSort, arr2, n);
void mergeSort(T arr[], int n)
void __mergeSort(T arr[], int l, int r)
void __merge(T arr[], int l, int mid, int r)
这里在实例化时候为什么没有确定l 和r 的值?只给了n的值就完成了排序
写回答
1回答
-
liuyubobobo
2020-12-31
因为对一个有 n 个元素的数组 arr 排序,l 就是 0, r 就是 n - 1。
所以,void mergeSort(T arr[], int n) 这个函数是这样的:
template<typename T> void mergeSort(T arr[], int n){ __mergeSort( arr , 0 , n-1 ); // 这里有 l 和 r 的值 }
继续加油!:)
00
相似问题