C++ STL中的multiset find()函数

C++ STL中的multiset find()函数

multiset::find() 是C++ STL中的一个内置函数,它返回一个指向multiset容器中搜索的元素的lower_bound的迭代器。如果未找到该元素,则迭代器指向集合中最后一个元素的位置之后。

语法:

multiset_name.find(element)

参数: 该函数接受一个必需的参数 element 指定要在multiset容器中搜索的元素。

返回值: 该函数返回一个迭代器,该迭代器指向multiset容器中搜索的元素。如果未找到该元素,则迭代器指向multiset中最后一个元素之后的位置。

时间复杂度: 如果n是multiset的大小,则multiset::find()函数的时间复杂度为对数阶的n即O(log(n))。

下面的程序说明了上述函数。

程序1:

//CPP程序演示了
//multiset::find()函数
#include <bits/stdc++.h>
using namespace std;
int main()
{
 
  //初始化multiset
  multiset<int> s;
 
  s.insert(1);
  s.insert(4);
  s.insert(2);
  s.insert(5);
  s.insert(3);
  s.insert(3);
  s.insert(3);
  s.insert(5);
 
  cout << "set元素是:";
  for (auto it = s.begin(); it != s.end(); it++)
    cout << *it << " ";
 
  //迭代器指向
  //2所在的位置
  auto pos = s.find(3);
 
  //打印set元素
  cout << "\n3之后的set元素是:";
  for (auto it = pos; it != s.end(); it++)
    cout << *it << " ";
 
  return 0;
}  

输出:

The set elements are: 1 2 3 3 3 4 5 5 
The set elements after 3 are: 3 3 3 4 5 5

Programs 2:

// CPP程序演示
//multiset::find()函数
#include <bits/stdc++.h>
using namespace std;
int main()
{
 
  //初始化multiset
  multiset<char> s;
 
  s.insert('a');
  s.insert('a');
  s.insert('a');
  s.insert('b');
  s.insert('c');
  s.insert('a');
  s.insert('a');
  s.insert('c');
 
  cout << "set元素是:";
  for (auto it = s.begin(); it != s.end(); it++)
    cout << *it << " ";
 
  //迭代器指向
  //'b'所在的位置
  auto pos = s.find('b');
 
  //打印set元素
  cout << "\nb之后的set元素是:";
  for (auto it = pos; it != s.end(); it++)
    cout << *it << " ";
 
  return 0;
}  

输出:

The set elements are: a a a a a b c c 
The set elements after b are: b c c

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程