Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน cbegin() และ cend() หลายชุดใน C++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน multiset::cbegin() และ multiset::cend() ใน C++ STL

มัลติเซ็ตใน C++ STL คืออะไร

ชุดหลายชุดคือคอนเทนเนอร์ที่คล้ายกับชุดคอนเทนเนอร์ ซึ่งหมายความว่าจะเก็บค่าต่างๆ ในรูปแบบของคีย์เหมือนกับชุดในลำดับเฉพาะ

ในชุดหลายชุด ค่าจะถูกระบุเป็นคีย์เหมือนกับชุด ความแตกต่างหลัก ระหว่าง multiset และ set คือ ชุดมีคีย์ที่แตกต่างกัน ซึ่งหมายความว่าไม่มีสองคีย์ที่เหมือนกัน ใน multiset สามารถมีค่าคีย์เดียวกันได้

คีย์หลายชุดใช้ในการสร้างแผนผังการค้นหาแบบไบนารี

มัลติเซ็ต::cbegin() คืออะไร

ฟังก์ชัน multiset::cbegin() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว cbegin() หมายถึงฟังก์ชันเริ่มต้นคงที่ หมายถึงฟังก์ชันนี้ส่งคืนตัววนซ้ำคงที่ที่ชี้ไปที่จุดเริ่มต้นของคอนเทนเนอร์หลายชุด

สามารถใช้ตัววนซ้ำคงที่สำหรับการวนซ้ำผ่านคอนเทนเนอร์แบบหลายเซ็ต ซึ่งไม่สามารถเปลี่ยนแปลงในคอนเทนเนอร์แบบหลายเซ็ตได้

ไวยากรณ์

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 ซึ่งกำหนดไว้ในไฟล์ส่วนหัว cend() หมายถึงฟังก์ชันสิ้นสุดคงที่ หมายถึงฟังก์ชันนี้ส่งคืนตัววนซ้ำคงที่ที่ชี้ไปยังองค์ประกอบสุดท้ายของคอนเทนเนอร์หลายชุดที่ผ่านมา

สามารถใช้ตัววนซ้ำคงที่สำหรับการวนซ้ำผ่านคอนเทนเนอร์แบบหลายเซ็ต ซึ่งไม่สามารถเปลี่ยนแปลงในคอนเทนเนอร์แบบหลายเซ็ตได้

ไวยากรณ์

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