当前位置: 首页 > news >正文

自己做衣服的网站网络运营推广怎么做

自己做衣服的网站,网络运营推广怎么做,建筑人才培训网,b2b网站大全毛片C中的std::binary_search函数详解 在C标准模板库(STL)中,std::binary_search是一个非常有用的函数,它可以在一个已排序的序列中查找一个特定的元素。这个函数的使用非常直观,但是了解其工作原理和一些注意事项可以帮助…

C++中的std::binary_search函数详解

在C++标准模板库(STL)中,std::binary_search是一个非常有用的函数,它可以在一个已排序的序列中查找一个特定的元素。这个函数的使用非常直观,但是了解其工作原理和一些注意事项可以帮助我们更有效地使用它。

基本用法

std::binary_search函数接受三个参数:两个迭代器(定义了输入范围的开始和结束)和一个值。它会在输入范围内查找这个值,并返回一个布尔值,表示这个值是否存在。

std::vector<int> v = {1, 2, 3, 4, 5};
bool found = std::binary_search(v.begin(), v.end(), 3);
if (found) {std::cout << "Found 3!" << std::endl;
} else {std::cout << "Did not find 3." << std::endl;
}
// 输出:Found 3!

在这个例子中,我们在向量v中查找了数字3,并打印出了查找结果。

当然,std::binary_search函数也可以接受一个自定义类型的比较函数。以下是一个例子:

#include <iostream>
#include <vector>
#include <algorithm>// 自定义数据类型
class Person {
public:Person(std::string name, int age) : name_(name), age_(age) {}std::string getName() const { return name_; }int getAge() const { return age_; }private:std::string name_;int age_;
};// 自定义比较函数
struct ComparePerson {bool operator()(const Person& p1, const Person& p2) const {return p1.getAge() < p2.getAge();}
};int main() {std::vector<Person> people = {Person("Alice", 25), Person("Bob", 30), Person("Charlie", 35)};std::sort(people.begin(), people.end(), ComparePerson());  // 需要先排序bool found = std::binary_search(people.begin(), people.end(), Person("Bob", 30), ComparePerson());if (found) {std::cout << "Found Bob!" << std::endl;} else {std::cout << "Bob not found." << std::endl;}// 输出:Found Bob!return 0;
}

在这个例子中,我们定义了一个自定义的比较函数ComparePerson,它实现了对Person对象的比较。然后我们在一个已排序的Person对象的向量中查找特定的Person对象,并使用ComparePerson作为std::binary_search的比较函数。这样,std::binary_search就会使用我们的自定义比较函数来查找元素。希望这个例子能帮助你理解如何使用std::binary_search函数的自定义比较函数版本。如果你还有其他问题,欢迎随时提问!

注意事项

  1. 输入范围必须已排序std::binary_search使用二分查找算法,这要求输入范围必须已经按照升序排序。如果输入范围没有排序,std::binary_search的结果是未定义的。

  2. 返回值只表示存在性std::binary_search只返回一个布尔值,表示值是否存在。如果你需要找到该值的位置,你应该使用std::lower_boundstd::upper_bound

复杂度

std::binary_search的时间复杂度为O(log n),其中n是输入范围中的元素数量。这是因为std::binary_search使用了二分查找算法,每次查找都会将搜索范围减半。

结论

std::binary_search是C++ STL中的一个强大工具,它可以帮助我们在已排序的序列中快速查找元素。然而,使用它时需要注意一些事项,包括确保输入范围已排序,理解其返回值的含义,以及如何使用自定义比较函数。

http://www.zhongyajixie.com/news/2415.html

相关文章:

  • 深圳做微商网站设计运营推广计划怎么写
  • 长春网站建设技术外包网络推广seo怎么弄
  • 有哪些做的好的网站微商引流一般用什么软件
  • ftp上传网站全教程360搜索推广
  • wordpress 搜索 很慢seopc流量排名官网
  • wordpress加上特效河南郑州网站推广优化
  • 长春网站制作报价怎样把产品放到网上销售
  • 西安个人做企业网站爱站网关键词查询网站的工具
  • wordpress批量改数据库前缀seo赚钱吗
  • 承德网站建设公司指数分布
  • 移动网站开发入门搜索网站的软件
  • 电子商务网站的建设与维护在线crm管理系统
  • 网站备案通过网站优化北京seo
  • 网站素材 按钮站长工具排名分析
  • 同城购物网站建设成本桌子seo关键词
  • 网站怎么做才能上百度首页樱桃bt官网
  • 青浦做网站最新免费网站收录提交入口
  • 教育网站制作价格cms网站
  • 长安做网站2023新闻大事10条
  • 广州网站改版设计公司seo岗位工资
  • 酒类销售公司的网站建设无锡seo优化公司
  • 合肥那个公司做网站优化好网站关键词排名优化软件
  • vue做的web网站在哪里可以发布自己的广告
  • 哪些企业需要做网站建设tool站长工具
  • 跨专业的简历怎么制作苏州seo网站管理
  • 网站找人做备案的价格互联网营销外包公司
  • 潍坊手机网站小红书怎么推广引流
  • 购物网站开发平台新品推广活动方案
  • 石家庄网站seo服务短视频代运营方案策划书
  • 企业门户登陆seo服务外包报价