gpt4 book ai didi

c++ - 这个归并排序有问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:30:08 27 4
gpt4 key购买 nike

<分区>

我想对数组进行排序。所以我写了这个合并排序,它没有做我想要的,即排序,只是停顿!我一遍又一遍地检查算法,我觉得这是正确的,但是不!请看一下并告诉我可能出了什么问题。

void mergeSort(int *arr, int low, int high){
int mid = (low+high)/2;
while(low<high){
mergeSort(arr, low, mid);
mergeSort(arr, mid+1, high);
merge(arr, low, high, mid);
}
}

void merge(int *arr,int low, int high, int mid){
int i =low,j=mid+1,k=0;
int temp[50]; // should i new/malloc this with size of ( high -low +1) ?
while(i<=mid && j<=high){
if(arr[i]<arr[j])
temp[k++] = arr[i++];
else
temp[k++] = arr[j++];
}
while(i<=mid)
temp[k++] = arr[i++];
while(j<=high)
temp[k++] = arr[j++];
for(int x = 0; x<=high; x++){
arr[x]=temp[x];
}
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com