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

แมป crbegin() และ crend() ฟังก์ชั่นใน C++ STL


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

แผนที่ใน C++ STL คืออะไร

แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน

map::cbegin() คืออะไร

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

ไวยากรณ์

Map_name.crbegin();

พารามิเตอร์

ฟังก์ชันนี้ไม่ยอมรับพารามิเตอร์ใดๆ

คืนค่า

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

ตัวอย่าง

อินพุต

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
newmap.crbegin();

ผลลัพธ์

c:3

แผนที่::crbegin

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({3, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   //using map::crbegin to fetch first last element
   auto temp = TP_Map.crbegin();
   cout<<"First element is: "<<temp->first << " -> " << temp->second;
   cout<<"\nTP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.crbegin(); i!= TP_Map.crend(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

ผลลัพธ์

First element is: 4 -> 70
TP Map is:
MAP_KEY    MAP_ELEMENT
4             70
3             50
2             30
1             10

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

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

ไวยากรณ์

newmap.crend();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

คืนค่า

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

ตัวอย่าง

อินพุต

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
newmap.crend();

ผลลัพธ์

error

แผนที่::crend

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({3, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   cout<<"\nTP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.crbegin(); i!= TP_Map.crend(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

ผลลัพธ์

TP Map is:
MAP_KEY    MAP_ELEMENT
4             70
3             50
2             30
1             10