gpt4 book ai didi

c++ - 在 C++ 中如何搜索 vector 并获取元素的位置?

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:46 25 4
gpt4 key购买 nike

int search(vector<int>& numbers, int numToFind){
int numberSize = numbers.size();
for (int i = 0; i < numberSize; i++){
if(numbers.at(i) == numToFind){
return i;
}
else{
return -1;
}
}
}

我的函数搜索应该通过 vector 搜索 numToFind,如果找到它,它会返回位置。然而,当我运行这个函数时,它一直给我 -1。

最佳答案

你返回 -1 太早了。您的函数甚至不搜索 vector 的其余部分。

int search(std::vector<int>& numbers, int numToFind){
int numberSize = numbers.size();
for (int i = 0; i < numberSize; i++){
if(numbers.at(i) == numToFind){
return i;
}
// A return statement here would cut the loop too early
}
return -1; // Didn't find anything
}

如果您想要基于 1 的索引,请返回 i + 1

关于c++ - 在 C++ 中如何搜索 vector 并获取元素的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21011874/

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