做网站图片的大小网络服务器的功能是
2026/4/16 6:44:06 网站建设 项目流程
做网站图片的大小,网络服务器的功能是,诚一网站推广,济南官网排名推广这篇文章展示如何在一个范围内搜索。这里坚持用标准版本的STL#xff0c;并考虑由2个迭代器表示的范围。STL可以被分成两部分#xff1a;对已排序元素进行操作的部分以及对未排序元素进行操作的部分。这种差异对搜索有两个影响:在已排序的集合中查找非常快#xff0c;通常在…这篇文章展示如何在一个范围内搜索。这里坚持用标准版本的STL并考虑由2个迭代器表示的范围。STL可以被分成两部分对已排序元素进行操作的部分以及对未排序元素进行操作的部分。这种差异对搜索有两个影响:在已排序的集合中查找非常快通常在对数时间内而在未排序的集合中查找通常在线性时间内。在已排序范围上显示的所有方法都按照等价性与比较来比较值而在未排序范围上显示的方法则按照相等性与比较来比较值。这篇文章探讨以下3个问题在那里吗在哪里应该在哪里(对于排序范围)二、在那里吗2.1、在未排序的元素上这个问题可以用std::find来表示并结合与范围末尾的比较代码语言C自动换行AI代码解释vectorint v {...}; // v filled with values if (std::find(v.begin(), v.end(), 42) ! v.end()) { ... }当然也可以用std::count来表示。代码语言C自动换行AI代码解释vectorint v {...}; // v filled with values if (std::count(v.begin(), v.end(), 42)) { ... }返回值在if语句中隐式地转换为bool值在这里如果范围内至少有一个元素等于42则计算结果为true。与std::find相比std::count方法有优点也有缺点。std::count的优点std::count避免与结束操作符进行比较。std::count的缺点:std::count遍历整个集合而std::find在搜索到第一个与搜索值相等的元素时就返回。std::find更好地表达了正在查找的内容。因此std::find更常用。注意要检查是否存在满足谓词而不等于值的元素用std::count_if、std::find_if和std::find_if_not这应该是必知的。2.2、已排序元素关于已排序元素要用的算法是std::binary_search直接返回一个bool值表示搜索值是否在集合中具有等效元素。代码语言C自动换行AI代码解释std::setint numbers {...}; // sorted elements bool is42InThere std::binary_search(numbers.begin(), numbers.end(), 42);三、在哪里?更准确地说希望获得指向搜索元素出现位置的迭代器。3.1、在未排序的元素上用std::find。返回指向第一个和搜索值相等的元素的迭代器如果没有找到该值则返回指向集合末尾的迭代器。代码语言C自动换行AI代码解释std::vectorint numbers {...}; auto searchResult std::find(numbers.begin(), numbers.end(), 42); if (searchResult ! numbers.end()) { ... }3.2、已排序元素对于已排序的集合STL没有像std::find那样简单的算法。但是std::find并不是真正为排序集合而设计的因为它用的是相等而不是等价并且它在线性时间而不是对数时间内操作。对于给定的集合如果确定现在和将来元素的类型的相等性与等价性是相同的并且接受付出线性时间std::find将是不错的选择引起它是简单的接口。必须注意std::find不是专门为排序范围进行操作而设计的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询