gpt4 book ai didi

c++ - 使用迭代器位置的线性和二进制搜索

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:47 25 4
gpt4 key购买 nike

<分区>

我正在编写两个函数,第一个函数进行线性搜索,如果它在 vector 中,则应该返回第一个找到的值的位置。第二种方法是使用 equal_range 完成的二分搜索,它应该返回与线性搜索相同的结果。目前他们正在检查每个值是否匹配。任何帮助表示赞赏。

int linearSearch( const vector<int>& vec, int z)
{
vector<int>::iterator iter = find(vec.begin(), vec.end(), z);

if (iter != vec.end())
return (iter-vec.begin());

else
return -1;
}

int binarySearch( const vector<int>& vec, int z)
{
pair<vector<int>::const_iterator, vector<int>::const_iterator> bounds;

bounds = equal_range(vec.begin(),vec.end(), z);

if (bounds.first != vec.end())
return (bounds.first -vec.begin());

else
return -1;
}

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