Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mencari elemen dalam bekas C++ STL?

Bagaimana untuk mencari elemen dalam bekas C++ STL?

王林
王林asal
2024-06-05 19:44:11907semak imbas

Untuk mencari elemen dalam bekas C++ STL, anda boleh menggunakan kaedah berikut: fungsi find(): Cari elemen pertama yang sepadan dengan nilai yang ditentukan. find_if() function: Cari elemen pertama yang memenuhi syarat yang ditentukan. count() function: Mengembalikan bilangan elemen dalam bekas yang sama dengan nilai yang ditentukan.

如何查找C++ STL容器中的元素?

Cara mencari elemen dalam bekas C++ STL

Dalam C++, STL (Perpustakaan Templat Standard) menyediakan satu set kelas kontena yang berkuasa untuk menyimpan dan mengurus data. Mencari elemen dalam bekas adalah salah satu tugas biasa, dan STL menyediakan beberapa cara untuk menyelesaikannya. Fungsi

find()

find() digunakan untuk mencari elemen pertama yang sepadan dengan nilai yang ditentukan. Untuk semua bekas berjujukan (seperti vektor dan list) dan bekas bersekutu (seperti map dan set) cekap . Fungsi find() 函数用于查找第一个与指定值匹配的元素。对于所有序列式容器(例如 vectorlist)和关联式容器(例如 mapset)都有效。

#include <vector>

int main() {
  std::vector<int> v = {1, 3, 5, 7, 9};

  // 查找元素 5
  auto it = std::find(v.begin(), v.end(), 5);

  // 如果元素找到,it 将指向该元素
  if (it != v.end()) {
    std::cout << "元素 5 找到" << std::endl;
  } else {
    std::cout << "元素 5 未找到" << std::endl;
  }

  return 0;
}

find_if() 函数

find_if() 函数用于查找第一个满足指定条件的元素。它接受一个谓词(一个返回布尔值的函数)作为参数。

#include <vector>

int main() {
  std::vector<int> v = {1, 3, 5, 7, 9};

  // 查找第一个大于 5 的元素
  auto it = std::find_if(v.begin(), v.end(), [](int x) { return x > 5; });

  // 如果元素找到,it 将指向该元素
  if (it != v.end()) {
    std::cout << "第一个大于 5 的元素为 " << *it << std::endl;
  } else {
    std::cout << "没有找到大于 5 的元素" << std::endl;
  }

  return 0;
}

count() 函数

count()

#include <vector>

int main() {
  std::vector<int> v = {1, 1, 3, 5, 1, 7, 9};

  // 计算元素 1 出现的次数
  int count = std::count(v.begin(), v.end(), 1);

  std::cout << "元素 1 出现的次数为 " << count << std::endl;

  return 0;
}

🎜find_if() 🎜🎜🎜find_if() Fungsi digunakan untuk mencari elemen pertama yang memenuhi syarat yang ditetapkan. Ia menerima predikat (fungsi yang mengembalikan nilai boolean) sebagai hujah. Fungsi 🎜rrreee🎜🎜count() 🎜🎜🎜count() Fungsi mengembalikan bilangan elemen dalam bekas yang sama dengan nilai yang ditentukan. 🎜rreeee

Atas ialah kandungan terperinci Bagaimana untuk mencari elemen dalam bekas C++ STL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn