为什么我的归并排序会这样出错

问题遇到的现象和发生背景 归并排序的测试发生了错误
问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>
using namespace std;
void Merge(int *numbers,int length,int *temp,int begin,int end,int middle)
{
    if(numbers==nullptr||length<=0||begin<0||end>=length)
    {
        printf("Invalid input!\n");
        return ;
    }
    int leftIndex = begin;
    int rightIndex =middle+1;
    int tempIndex=begin;
    while (leftIndex<=middle && rightIndex<=end)
    {
        if(numbers[leftIndex]  <  numbers[rightIndex])
        {
            temp[tempIndex]=numbers[leftIndex];
            leftIndex++;
        }else
        {
            temp[tempIndex]=numbers[rightIndex];
            rightIndex++;
        }
        tempIndex++;
    }
    
    while(leftIndex <= middle)
    {
        temp[tempIndex]=numbers[leftIndex];
        tempIndex++;
        leftIndex++;
    }
    while(rightIndex<=middle)
    {
        temp[tempIndex]=numbers[rightIndex];
        tempIndex++;
        rightIndex++;
    }
    for(int i=begin;i<=end;i++)
    {
        numbers[i]=temp[i];
    }
        
}
void MergeSort(int *numbers,int length,int *temp,int begin,int end)
{
    if(numbers==nullptr||length<=0||begin<0||end>=length)
    {
        printf("Invalid input!\n");
        return ;
    }
    if(begin==end)
    {
        return ;
    }
    if(end-begin==1)
    {
        if(numbers[begin]>numbers[end])
        {
            int temp=numbers[begin];
            numbers[begin]=numbers[end];
            numbers[end]=temp;
        }
        return ;
    }
    int middle =(end-begin)/2+begin;
    MergeSort(numbers,length,temp,begin,middle);
    MergeSort(numbers,length,temp,middle+1,end);
    Merge(numbers,length,temp,begin,end,middle);
}
int main()
{
    int nums[9]={16,15,4,19,2,17,1,64,55};
    for(int i=0;i<9;i++)
    {
        cout<<nums[i]<<" ";
    } 
    cout<<endl;
    int *temp=new int[9];
    MergeSort(nums,9,temp,0,8);
    
    for(int i=0;i<9;i++)
    {
        cout<<nums[i]<<" ";
    }
    delete[] temp;
    temp = nullptr;
    cout<<endl;
    return 0;
}



![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/791567857736180.png "#left")

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img