ในบทความนี้ เราจะพูดถึงฟังก์ชัน 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