gpt4 book ai didi

c++ - 自定义堆栈的 "seek"函数返回数组中的位置而不是数组中位置的值

转载 作者:行者123 更新时间:2023-11-28 03:18:34 30 4
gpt4 key购买 nike

我有一个 for 循环,它被设计为接受一个目标数字,并循环遍历堆栈,直到它在堆栈 [target] 中找到数据并且它应该返回该数据。

不幸的是,我只能让它返回它所在的数组的位置或一串随机数字(随着我的代码定期更改)。

我试图只返回 stackArray[counter] 但这就像我只返回计数器一样。然后我更改了代码以创建一个新变量,然后返回该变量,然后我又回到了数字串。我认为这与我的堆栈数组是指针这一事实有关?有点碰壁,所以任何输入都会有所帮助。

这是我的循环(至少是最新版本。我已经尝试了多种不同的方法):

 for (int counter = 0; counter < target; counter++ )
{
if (stackArray[counter] == target)
{
answer = stackArray[counter];

}
cout << "beep " << counter << " " << target << endl;

}

最佳答案

返回 for 循环中匹配的值很简单。只需在 if block 中添加 return 语句即可。

for (int counter = 0; counter < target; counter++ )
{
if (stackArray[counter] == target)
{
answer = stackArray[counter];

return answer; // <---
}
}

这没有什么意义,因为您已经知道 answer 是什么,因为您正在使用 target 搜索它。您的 for 循环似乎不正确,因为您正在迭代到 target 这意味着答案已经知道并且可以直接使用 stackArray[target] 访问.在执行此搜索时,您希望一直搜索到数组的末尾。

关于c++ - 自定义堆栈的 "seek"函数返回数组中的位置而不是数组中位置的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16095836/

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