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