C++ 如何使用find()方法在双端队列中检查/查找项

C++ 如何使用find()方法在双端队列中检查/查找项

find() 函数查找给定数字范围中的元素。返回一个迭代器,指向第一个在范围[first,last)中与要搜索的值相等的元素。如果找不到此类元素,则函数返回last。

语法:

InputIterator find(InputIterator first, InputIterator last, const T& val)

参数:

first,last: 序列中开始和结束位置的输入迭代器。要搜索的范围是[first,last],其中包含first和last之间的所有元素,包括first指向的元素,但不包括last指向的元素。

val: 要在范围内搜索的值。

返回值:

一个指向与val相等的范围中第一个元素的迭代器。

如果没有匹配的元素,函数返回last。

示例:

输入: 10 20 30 40

输出: 元素30找到位置:2(从零开始计数)

输入: 8 5 9 2 7 1 3 10

输出: 元素4未找到。

示例1: 以下是实现在deque中使用find()函数的C++程序。

// C++程序实现
//上述方法
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
  
//在双端队列中查找元素的函数
void find(deque <int> q)
{
  deque<int>::iterator itr;
  itr = find(q.begin(), q.end(), 2);
  if(itr != q.end())
  {
    cout << "找到";
  }
  else
  {
    cout << "未找到";
  }
}
//驱动代码
int main() 
{
  //声明一个deque
  deque<int> q;
    
  //初始化deque
  q.push_back(1);
  q.push_back(2);
  q.push_back(3);
  q.push_back(4);
  q.push_back(5);
    
  //调用find()函数
  find(q);
  return 0;
}  

输出:

找到

示例2: 以下是演示如何在deque中查找元素的C++程序。

// C++程序实现
//上述方法
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
  
//在双端队列中查找元素的函数
void find(deque<string> q)
{
  deque<string>::iterator itr;
  itr = find(q.begin(), q.end(),"Raj");
    
  if(itr != q.end())
  {
    cout << "找到";
  }
  else
  {
    cout << "未找到";
  }
}
  
//驱动代码
int main() 
{
  //声明一个deque
  deque<string> q;
    
  //初始化deque 
  q.push_back("Akshit");
  q.push_back("Nikita");
  q.push_back("Deeksha");
  q.push_back("Nandish");
  q.push_back("Rajat");
    
  //调用find()函数
find(q);
  return 0;
}  

输出:

未找到

C++中的std::find()与Deque中的find()的区别:

在C++中的 std::find() 函数中,搜索的范围是[first,last),其中包含first和last之间的所有元素,包括first指向的元素,但不包括last指向的元素。

在使用find()函数找到双端队列中的项的情况下,搜索的范围是[first,last],即包括first和last两个位置的元素。

以下是演示在双端队列中查找项目的C++程序。

// C++程序实现
// 上述方法
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
  
void find(deque<int> q)
{
  deque<int>::iterator itr;  
  itr = find(q.begin(), 
             q.end(), 5);
  if(itr != q.end())
  {
    cout << "找到了";
  }
  else
  {
    cout << "未找到";
  }
}
  
// 建立代码
int main() 
{
  // 声明一个双向队列
  deque<int> q;
    
  // 初始化双向队列
  q.push_back(1);
  q.push_back(2);
  q.push_back(3);
  q.push_back(4);
  q.push_back(5);
    
  // 调用find()函数
  find(q);
    
  return 0;
}  

输出结果:

找到了

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程