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

multimap::begin() และ multimap::end() ใน C++ STL


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

มัลติแมปใน C++ STL คืออะไร

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

multimap::begin() คืออะไร

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

ฟังก์ชันนี้ส่งคืนตัววนซ้ำซึ่งชี้ไปที่องค์ประกอบแรกของคอนเทนเนอร์ เมื่อคอนเทนเนอร์ไม่มีค่าในนั้น ตัววนซ้ำจะไม่สามารถอ้างอิงได้

ไวยากรณ์

multimap_name.begin();

พารามิเตอร์

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

คืนค่า

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

ป้อนข้อมูล

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.begin();

ผลผลิต

a:10

ตัวอย่าง

multimap::begin()

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //fetching first pair in multimap
   auto i = mul.begin();
   cout<<"First element in multimap is: ";
   cout << "{" << i->first << ", " << i->second << "}\n";
   //displaying multimap elements
   cout << "\nElements in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้รหัสข้างต้น จะสร้างผลลัพธ์ดังต่อไปนี้ -

First element in multimap is: {1, 10}
Elements in multimap is :
KEY ELEMENT
1 10
2 20
3 30
4 40
5 50

multimap::end() คืออะไร

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

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

โดยปกติแล้ว start() และ end() จะใช้เพื่อวนซ้ำในคอนเทนเนอร์แผนที่โดยกำหนดระยะ

ไวยากรณ์

multimap_name.end();

พารามิเตอร์

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

คืนค่า

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

ป้อนข้อมูล

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.end();

ผลผลิต

error

ตัวอย่าง

มัลติแมป::end()

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //displaying multimap elements
   cout << "\nElemenst in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Elements in multimap is :
KEY ELEMENT
1 10
2 20
3 30
4 40
5 50