ในบทความนี้เราจะอธิบาย set::count() ใน C++ STL รวมถึงไวยากรณ์ การทำงาน และค่าที่ส่งคืน
Set ใน C++ STL คืออะไร?
Set ใน C++ STL เป็นคอนเทนเนอร์ที่เก็บ องค์ประกอบที่ไม่ซ้ำกัน (unique) ในลำดับที่จัดเรียงแล้ว ค่าขององค์ประกอบระบุตัวตนของมันเอง เมื่อเพิ่มค่าใน set แล้วไม่สามารถแก้ไขได้ แต่ยังสามารถลบหรือเพิ่มค่าใหม่ได้ Set ถูกนำไปใช้งานเป็น binary search tree
set::count() คืออะไร?
count() เป็นฟังก์ชันในตัวของ C++ STL ที่ประกาศใน header file <set> ฟังก์ชันนี้ใช้สำหรับ นับจำนวนครั้งที่อาร์กิวเมนต์ปรากฏใน set เนื่องจาก set เก็บเฉพาะค่าที่ไม่ซ้ำกัน ฟังก์ชันนี้จึงส่งคืนได้แค่ 0 หรือ 1 เท่านั้น (0 = ไม่มีค่านั้น, 1 = มีค่านั้น)
ไวยากรณ์ (Syntax)
name_of_set.count(const type_t& value);
พารามิเตอร์ (Parameters)
รับพารามิเตอร์หนึ่งคือค่าที่ต้องการค้นหาและนับใน set container
ค่าที่ส่งคืน (Return Value)
ส่งคืนได้เพียง 0 (ไม่มีใน container) หรือ 1 (มีใน container)
ตัวอย่างการใช้งาน
Input: set<int> myset = {1, 2, 3, 4, 6};
myset.count(2);
Output: 1
Input: set<int> myset = {1, 2, 3, 4, 6};
myset.count(5);
Output: 0
ตัวอย่างโค้ดเต็ม
#include <bits/stdc++.h>
using namespace std;
int main() {
int arr[] = {2, 4, 2, 5, 6, 7};
set<int> ch(arr, arr + 6); // สร้าง set จาก array (ค่าซ้ำจะถูกลบ)
// ตรวจสอบว่า 2 อยู่ใน set หรือไม่
if (ch.count(2))
cout << "2 is present\n";
else
cout << "2 is not present\n";
// ตรวจสอบว่า 9 อยู่ใน set หรือไม่
if (ch.count(9))
cout << "9 is present\n";
else
cout << "9 is not present\n";
return 0;
}
ผลลัพธ์ (Output)
2 is present 9 is not present