ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน multiset::count() ใน C++ STL
มัลติเซ็ตใน C++ STL คืออะไร
ชุดหลายชุดคือคอนเทนเนอร์ที่คล้ายกับชุดคอนเทนเนอร์ ซึ่งหมายความว่าจะเก็บค่าต่างๆ ในรูปแบบของคีย์เหมือนกับชุดในลำดับเฉพาะ
ในชุดหลายชุด ค่าจะถูกระบุเป็นคีย์เหมือนกับชุด ความแตกต่างหลัก ระหว่าง multiset และ set คือ ชุดมีคีย์ที่แตกต่างกัน ซึ่งหมายความว่าไม่มีสองคีย์ที่เหมือนกัน ใน multiset สามารถมีค่าคีย์เดียวกันได้
คีย์หลายชุดใช้ในการสร้างแผนผังการค้นหาแบบไบนารี
mulset::count() คืออะไร
ฟังก์ชัน multiset::count() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ฟังก์ชันนี้นับจำนวนองค์ประกอบด้วยคีย์เฉพาะ
มัลติเซ็ตสามารถมีค่าหลายค่าของคีย์เดียวกันได้ ดังนั้นเมื่อเราต้องการนับจำนวนของค่าของคีย์เดียวกัน เราสามารถใช้ count() count() ค้นหาคีย์ในคอนเทนเนอร์ทั้งหมดและส่งคืนผลลัพธ์ หากไม่มีคีย์ที่เรากำลังมองหาในคอนเทนเนอร์ ฟังก์ชันจะคืนค่า 0
ไวยากรณ์
ms_name.count(value_type T);
พารามิเตอร์
ฟังก์ชันนี้ยอมรับพารามิเตอร์ของประเภทค่าของ multiset หนึ่งตัว ซึ่งเราต้องค้นหาใน multiset container ที่เกี่ยวข้อง
คืนค่า
ฟังก์ชันนี้จะคืนค่าตัวเลขที่มีคีย์เดียวกัน
ตัวอย่าง
Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 2, 4}; mymultiset.count(2); Output: 3
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {1, 2, 3, 1, 1, 1}; multiset<int> check(arr, arr + 6); cout<<"List is : "; for (auto i = check.begin(); i != check.end(); i++) cout << *i << " "; cout << "\n1 is occuring: "<<check.count(1)<<" times"; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
List is : 1 1 1 1 2 3 1 is occuring 4 times
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {1, 2, 3, 1, 1, 1, 2, 2}; multiset<int> check(arr, arr + 8); cout<<"List is : "; for (auto i = check.begin(); i != check.end(); i++) cout << *i << " "; cout << "\n1 is occuring: "<<check.count(1)<<" times"; cout << "\n2 is occuring: "<<check.count(2)<<" times"; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
List is : 1 1 1 1 2 2 2 3 1 is occuring 4 times 2 is occuring 3 times