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

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


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

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

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

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

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

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

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

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

ไวยากรณ์

ms_name.crbegin();

พารามิเตอร์

ฟังก์ชันไม่รับพารามิเตอร์

คืนค่า

ฟังก์ชันนี้ส่งคืนตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบสุดท้ายของคอนเทนเนอร์

ตัวอย่าง

อินพุต

std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
mymultiset.crbegin();

ผลลัพธ์

4

ตัวอย่าง

#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 crbegin() function: "<<*(check.crbegin()) << endl;
   for(auto i = check.crbegin(); i!= check.crend(); i++)
      cout << *i << " ";
   return 0;
}

ผลลัพธ์

First element fetched using crbegin() function: 60
60 50 40 30 20 10

mulset::crend() คืออะไร

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

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

ไวยากรณ์

ms_name.crend();

พารามิเตอร์

ฟังก์ชันไม่รับพารามิเตอร์

คืนค่า

ฟังก์ชันนี้ส่งคืนตัววนซ้ำคงที่ซึ่งชี้ไปยังองค์ประกอบก่อนหน้าของคอนเทนเนอร์แรก

ตัวอย่าง

อินพุต

std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
mymultiset.crend();

ผลลัพธ์

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.crbegin(); i!= check.crend(); i++)
      cout << *i << " ";
   return 0;
}

ผลลัพธ์

Elements in the list are: 60 50 40 30 20 10