ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจการแทรกและการลบในชุด STL ใน C++
ชุดนี้เป็นองค์ประกอบคอนเทนเนอร์ คุณสมบัติที่ทำให้มีเอกลักษณ์เฉพาะตัวคือสามารถมีได้เฉพาะองค์ประกอบที่ไม่ซ้ำกันและสามารถวนซ้ำในลักษณะที่จัดเรียงได้
ตัวอย่าง
การแทรก
#include<iostream>
#include<set>
using namespace std;
int main(){
set<int> st;
//declaring iterators
set<int>::iterator it = st.begin();
set<int>::iterator it1, it2;
pair< set<int>::iterator,bool> ptr;
//inserting a single element
ptr = st.insert(20);
if (ptr.second)
cout << "The element was newly inserted" ;
else cout << "The element was already present" ;
cout << "\nThe set elements after 1st insertion are : ";
for (it1 = st.begin(); it1!=st.end(); ++it1)
cout << *it1 << " ";
st.insert(it, 24);
cout << "\nThe set elements after 2nd insertion are : ";
for (it1 = st.begin(); it1!=st.end(); ++it1)
cout << *it1 << " ";
int arr[3] = { 25, 24, 26 };
st.insert(arr, arr+3);
cout << "\nThe set elements after 3rd insertion are : ";
for (it1 = st.begin(); it1!=st.end(); ++it1)
cout << *it1 << " ";
} ผลลัพธ์
The element was newly inserted The set elements after 1st insertion are : 20 The set elements after 2nd insertion are : 20 24 The set elements after 3rd insertion are : 20 24 25 26
การลบ
#include<iostream>
#include<set>
using namespace std;
int main(){
set<int> st;
//declaring iterators
set<int>::iterator it;
set<int>::iterator it1;
set<int>::iterator it2;
pair< set<int>::iterator,bool> ptr;
//inserting values in set
for (int i=1; i<10; i++)
st.insert(i*5);
cout << "The set elements after insertion are : ";
for (it1 = st.begin(); it1!=st.end(); ++it1)
cout << *it1 << " ";
it = st.begin();
cout << endl;
++it;
st.erase(it);
//printing set elements after deletion
cout << "The set elements after 1st deletion are : ";
for (it1 = st.begin(); it1!=st.end(); ++it1)
cout << *it1 << " ";
st.erase(40);
cout << "\nThe set elements after 2nd deletion are : ";
for (it1 = st.begin(); it1!=st.end(); ++it1)
cout << *it1 << " ";
++it;
++it;
++it;
++it;
st.erase(it, st.end());
cout << "\nThe set elements after 3rd deletion are : ";
for (it1 = st.begin(); it1!=st.end(); ++it1)
cout << *it1 << " ";
cout << endl;
} ผลลัพธ์
The set elements after insertion are : 5 10 15 20 25 30 35 40 45 The set elements after 1st deletion are : 5 15 20 25 30 35 40 45 The set elements after 2nd deletion are : 5 15 20 25 30 35 45 The set elements after 3rd deletion are : 5 15 20