gpt4 book ai didi

c - 快速排序中的栈溢出错误

转载 作者:行者123 更新时间:2023-11-30 20:14:55 25 4
gpt4 key购买 nike

当我在 VS2013 中运行快速排序程序时,出现以下错误:“quicksort.exe 中 0x008B18D9 处的首次机会异常:0xC00000FD:堆栈溢出(参数:0x00000001、0x00232F68)。

如果有此异常的处理程序,则程序可以安全地继续。”

void part(int arr[], int min, int max)
{

srand(time(NULL));

*emphasized text*int pivot, l, i;

if ((max - min) > 0)

{
pivot = rand() % max;
swap(arr, pivot, max);
l = 0;
for (i = 0; i < max; i++)
{
if (arr[i] < arr[max])
{
swap(arr, i, l);
l++;
}
}
swap(arr, l, max);
part(arr, min, (l - 1));
part(arr, (l + 1), max);
}
}

谢谢你。

最佳答案

枢轴的选择应在 minmax-1 之间。你需要这样的东西:

    pivot = min + rand() % (max - min);

关于c - 快速排序中的栈溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23545788/

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