ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจการแทรกและการลบในชุด 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