ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน 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