在对长度为 nn(n≥1n\ge 1)的数组进行归并排序的过程中,mergeArray 函数(合并两个有序子数组的操作)

被调用的次数是( )。

const int MAXN = 100005; int a[MAXN];int tempArr[MAXN]; void mergeArray(int left, int mid, int right) {   int i = left; // 左半部分起点   int j = mid + 1; // 右半部分起点   int k = left; // 临时数组下标    while (i <= mid && j <= right) {      if (a[i] <= a[j]) {        tempArr[k++] = a[i++];      } else {        tempArr[k++] = a[j++];      }   }    while (i <= mid) {      tempArr[k++] = a[i++];   }    while (j <= right) {      tempArr[k++] = a[j++];   }    for (int p = left; p <= right; p++) {      a[p] = tempArr[p];   }} void mergeSort(int left, int right) {   if (left >= right) {      return;   }    int mid = left + (right - left) / 2;    mergeSort(left, mid);   mergeSort(mid + 1, right);    mergeArray(left, mid, right);}
填写答案