ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน multiset::cbegin() และ multiset::cend() ใน C++ STL
มัลติเซ็ตใน C++ STL คืออะไร
ชุดหลายชุดคือคอนเทนเนอร์ที่คล้ายกับชุดคอนเทนเนอร์ ซึ่งหมายความว่าจะเก็บค่าต่างๆ ในรูปแบบของคีย์เหมือนกับชุดในลำดับเฉพาะ
ในชุดหลายชุด ค่าจะถูกระบุเป็นคีย์เหมือนกับชุด ความแตกต่างหลัก ระหว่าง multiset และ set คือ ชุดมีคีย์ที่แตกต่างกัน ซึ่งหมายความว่าไม่มีสองคีย์ที่เหมือนกัน ใน multiset สามารถมีค่าคีย์เดียวกันได้
คีย์หลายชุดใช้ในการสร้างแผนผังการค้นหาแบบไบนารี
มัลติเซ็ต::cbegin() คืออะไร
ฟังก์ชัน multiset::cbegin() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
สามารถใช้ตัววนซ้ำคงที่สำหรับการวนซ้ำผ่านคอนเทนเนอร์แบบหลายเซ็ต ซึ่งไม่สามารถเปลี่ยนแปลงในคอนเทนเนอร์แบบหลายเซ็ตได้
ไวยากรณ์
ms_name.cbegin();
พารามิเตอร์
ฟังก์ชันไม่รับพารามิเตอร์
คืนค่า
ฟังก์ชันนี้จะคืนค่าตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบแรกของคอนเทนเนอร์
ตัวอย่าง
อินพุต
std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; mymultiset.cbegin();
ผลลัพธ์
1
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50, 60}; multiset<int> check(arr, arr + 6); cout<<"First element fetched using cbegin() function: "<<*(check.cbegin()) << endl; for(auto i = check.cbegin(); i!= check.cend(); i++) cout << *i << " "; return 0; }
ผลลัพธ์
First element fetched using cbegin() function: 10 10 20 30 40 50 60
mulset::cend() คืออะไร
ฟังก์ชัน multiset::cend() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
สามารถใช้ตัววนซ้ำคงที่สำหรับการวนซ้ำผ่านคอนเทนเนอร์แบบหลายเซ็ต ซึ่งไม่สามารถเปลี่ยนแปลงในคอนเทนเนอร์แบบหลายเซ็ตได้
ไวยากรณ์
ms_name.cend();
พารามิเตอร์
ฟังก์ชันไม่รับพารามิเตอร์
คืนค่า
ฟังก์ชันนี้ส่งคืนตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบที่อยู่เหนือคอนเทนเนอร์สุดท้าย
ตัวอย่าง
อินพุต
std::multiset<int&t; mymultiset = {1, 2, 2, 3, 4}; mymultiset.cend();
ผลลัพธ์
error
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50, 60}; multiset<int> check(arr, arr + 6); cout<<"Elements in the list are: "; for(auto i = check.cbegin(); i!= check.cend(); i++) cout << *i << " "; return 0; }
ผลลัพธ์
Elements in the list are: 10 20 30 40 50 60