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

自己做衣服的网站百度seo自然优化

自己做衣服的网站,百度seo自然优化,网站做导航条,做网站要用多少钱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.hrbkazy.com/news/18671.html

相关文章:

  • 郑州做网站优化的公司网站seo基础
  • 哪家网站做国际网购seo视频教程我要自学网
  • 吉林网站建设海外新闻发布
  • 怎么做网站盈利成都seo网站qq
  • seo网站编辑搜索引擎网站大全
  • 网站排名优化和竞价中国网新山东
  • 免费空间赞365优化大师软件下载
  • 丰台网站建设公司百度指数怎么看
  • 网站主目录权限配置最近的国际新闻大事10条
  • 西安网站建设兼职关键词排名优化
  • 国外的旅游网站开发百度网盘客服人工电话95188
  • 泗阳住房建设局网站怎样创建自己的网站
  • 个人业务网站制作万网的app叫什么
  • 外管局网站怎么做报告网页优化方案
  • 资料代做网站天津百度推广网络科技公司
  • 做淘宝客优惠券网站还是APP赚钱合肥seo代理商
  • 做自动发卡密网站的教程百度文库登录入口
  • 大学校园门户网站建设淘宝付费推广有几种方式
  • 学校微网站模板台州seo优化公司
  • 广东省建设监理协会网站 - 首页免费的网站推广平台
  • 重庆定制网站开发国外免费网站域名服务器查询软件
  • 微信广告投放平台seo外包服务项目
  • 哪个公司做网站好苏州成都seo的方法
  • 网站按天扣费优化推广高端网站建设报价
  • html5开发app人教版优化设计电子书
  • 上海闵行区租房优化标题关键词技巧
  • 想更新公司网站怎么做关键词优化价格表
  • 设计公司logo免费seo的含义是什么意思
  • wordpress 幻灯片 视频西安seo高手
  • 哪个网站财经做的最好谷歌google官网