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

ฟังก์ชันเริ่มต้น () และสิ้นสุด () หลายชุดใน C ++ STL


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

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

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

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

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

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

ฟังก์ชัน multiset::begin() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ใน ไฟล์ส่วนหัว

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

เนื่องจากคอนเทนเนอร์แบบหลายเซ็ตเก็บค่าในลำดับจากน้อยไปมาก Begin() จะชี้ไปที่องค์ประกอบซึ่งเป็นองค์ประกอบแรกของคอนเทนเนอร์ตามเกณฑ์การจัดเรียง

ไวยากรณ์

ms_name.begin();

พารามิเตอร์

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

คืนค่า

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

ตัวอย่าง

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

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {2, 4, 1, 3, 8, 5, 6};
   multiset<int> check(arr, arr + 7);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
      cout << *i << " ";
   cout<<"\nStarting Element is : "<<*(check.begin());
   return 0;
}

ผลลัพธ์

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

List is : 1 2 3 4 5 6 8
Starting Element is : 1

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

ฟังก์ชัน multiset::end() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว

ฟังก์ชันนี้ส่งคืนตัววนซ้ำซึ่งชี้ไปยังตำแหน่งอดีตถึงสิ้นสุดใน multisetcontainer

องค์ประกอบ Past to end เป็นองค์ประกอบที่ตามหลังองค์ประกอบสุดท้ายของคอนเทนเนอร์ multiset กล่าวโดยย่อ ไม่ได้ชี้ไปที่องค์ประกอบเฉพาะใดๆ ของคอนเทนเนอร์หลายชุด โดยทั่วไป ฟังก์ชันนี้ใช้กับ start() เพื่อกำหนดช่วงของคอนเทนเนอร์หลายชุด

ไวยากรณ์

ms_name.end();

พารามิเตอร์

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

คืนค่า

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

ตัวอย่าง

Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
   for( std::multiset<int>::iterator it=mymultiset.begin(); it!=mymultiset.end(); ++it )
Output: 1 2 2 3 4

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {2, 4, 1, 3, 8, 5, 6};
   multiset<int> check(arr, arr + 7);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
      cout << *i << " ";
   return 0;
}

ผลลัพธ์

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

List is : 1 2 3 4 5 6 8