ในบทความนี้ เราจะพูดถึงฟังก์ชัน set::insert() ใน C++ STL, ไวยากรณ์, การทำงาน และค่าที่ส่งคืน
การตั้งค่าใน C++ STL คืออะไร
ชุดใน C++ STL คือคอนเทนเนอร์ที่ต้องมีองค์ประกอบที่ไม่ซ้ำกันในลำดับทั่วไป ชุดต้องมีองค์ประกอบที่ไม่ซ้ำกันเนื่องจากค่าขององค์ประกอบระบุองค์ประกอบ เมื่อเพิ่มค่าในคอนเทนเนอร์ชุดแล้วจะแก้ไขในภายหลังไม่ได้ แม้ว่าเราจะยังสามารถลบหรือเพิ่มค่าลงในชุดได้ ชุดถูกใช้เป็นแผนผังการค้นหาแบบไบนารี
ชุด::insert() คืออะไร
ฟังก์ชัน insert() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ไวยากรณ์
Set1.insert(const type_t &value); ----(1) Or Set1.insert(iterator position, const type_t &value); -----(2) Or Set1.insert(iterator position_1, iterator position_2); -----(3)
พารามิเตอร์
-
ค่า - เป็นค่าที่จะใส่ในภาชนะที่ตั้งไว้
-
ตำแหน่ง − มันคือคำใบ้ไปยังตำแหน่ง มันจะเริ่มค้นหาจากตำแหน่งนี้และแทรกองค์ประกอบในตำแหน่งที่เหมาะสมที่จะแทรก
-
position_1, position_2 - นี่คือตัววนซ้ำซึ่งระบุช่วงที่จะแทรกในชุดที่เกี่ยวข้องกับการแทรก () position_1 สำหรับการเริ่มต้นของช่วงและ position_2 สำหรับการสิ้นสุดของช่วง
คืนค่า
ฟังก์ชันส่งคืนค่าประเภทต่างๆ ตามอาร์กิวเมนต์ที่ส่งผ่านในฟังก์ชัน
-
เมื่อเราส่งต่อเฉพาะค่า ฟังก์ชั่นส่งคืน iterator ที่ชี้ไปยังองค์ประกอบที่จะถูกแทรกใน set container
-
เมื่อเราผ่านตำแหน่งที่มีค่า ฟังก์ชันจะคืนค่า iterator อีกครั้งที่ชี้ไปยังองค์ประกอบที่กำลังถูกแทรกในคอนเทนเนอร์ที่ตั้งไว้
-
เมื่อเราผ่าน position_1 และ position_2; ฟังก์ชันจะคืนค่าชุดของค่าที่มาระหว่างช่วงโดยเริ่มจาก position_1 และสิ้นสุดที่ position_2
ตัวอย่าง
Input: set<int> myset; myset.insert(10); Output: values in the set = 10 Input: set <int> myset = {11, 12, 13, 14}; myset.insert(myset.begin(), 10); Output: values in the set = 10 11 12 13 14
ตัวอย่าง
การแทรกองค์ประกอบในชุดในคิวเช่นทีละรายการ
#include <bits/stdc++.h> using namespace std; int main(){ set<int> mySet; mySet.insert(10); mySet.insert(20); mySet.insert(30); mySet.insert(40); mySet.insert(50); cout<<"Elements are: "; for (auto i = mySet.begin(); i != mySet.end(); i++) cout << *i << " "; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Elements are : 10 20 30 40 50
ตัวอย่าง
การแทรกองค์ประกอบเข้ากับชุดตามตำแหน่ง
#include <bits/stdc++.h> using namespace std; int main(){ set<int> mySet; auto i = mySet.insert(mySet.begin(), 10); i = mySet.insert(i, 20); i = mySet.insert(i, 40); i = mySet.insert(i, 30); i = mySet.insert(i, 80); i = mySet.insert(mySet.end(), 90); cout<<"Elements are: "; for (auto i = mySet.begin(); i != mySet.end(); i++) cout << *i << " "; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Elements are: 10 20 30 40 80 90