กำหนดให้เป็นหน้าที่แสดงรายการฟังก์ชันการแทรก ( ) ฟังก์ชันใน C++ ใน STL
รายการใน STL คืออะไร
รายการคือคอนเทนเนอร์ที่อนุญาตให้แทรกและลบเวลาคงที่ที่ใดก็ได้ตามลำดับ รายการถูกนำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงการแทรกและย้ายองค์ประกอบได้ดีกว่าในตำแหน่งใดๆ ในคอนเทนเนอร์ มากกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ forward_list แต่ออบเจกต์ของรายการส่งต่อเป็นรายการที่เชื่อมโยงเพียงรายการเดียว และสามารถทำซ้ำได้เพียงส่งต่อเท่านั้น
ส่วนแทรก ( ) คืออะไร
ฟังก์ชัน list insert( ) ใช้เพื่อแทรกองค์ประกอบในรายการ
-
ฟังก์ชันนี้ใช้แทรกองค์ประกอบในตำแหน่งที่กำหนด
-
ฟังก์ชันนี้ยังใช้เพื่อแทรก n No. ขององค์ประกอบในรายการด้วย
-
นอกจากนี้ยังใช้การแทรกองค์ประกอบในช่วงที่กำหนด
ไวยากรณ์
insert(iterator position, const value_type& val) insert(iterator position, size_type n, const value_type& value) insert(iterator position, iterator first, iterator last)
พารามิเตอร์
Val - ระบุองค์ประกอบใหม่ที่จะแทรกในรายการ
ตำแหน่ง - ระบุตำแหน่งในคอนเทนเนอร์ที่แทรกองค์ประกอบใหม่
n - จำนวนองค์ประกอบที่จะแทรก
อย่างแรก สุดท้าย ระบุ iterator ซึ่งระบุช่วงขององค์ประกอบที่จะแทรก
คืนค่า
ส่งคืนตัววนซ้ำที่ชี้ไปที่องค์ประกอบแรกที่แทรกใหม่
ตัวอย่าง
ป้อนข้อมูล รายการ − 50 60 80 90
ผลผลิต รายการใหม่ − 50 60 70 80 90
ป้อนข้อมูล รายการ - T R E N D
ผลผลิต รายการใหม่ - T R E N D S
ติดตามได้
- ก่อนอื่นเราประกาศรายชื่อ
-
จากนั้นเราก็พิมพ์รายการ
-
จากนั้นเราประกาศฟังก์ชัน insert( )
โดยใช้วิธีการข้างต้น เราสามารถแทรกองค์ประกอบใหม่ในรายการ องค์ประกอบใหม่ควรมีประเภทข้อมูลเหมือนกับรายการ
ตัวอย่าง
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; int main ( ){ List<int> list = { 55, 84, 38, 66, 67 }; / / print the deque cout<< “ List: “; for( auto x = List.begin( ); x != List.end( ); ++x) cout<< *x << “ “; / / declaring insert( ) function list.insert( x, 6); / / printing new list after inserting new element cout<< “New list “; for( x=list.begin( ); x != list.end( ); ++x) cout<< “ “<<*x; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
Input - List: 55 84 38 66 67 Output - New List: 6 84 38 66 67
ตัวอย่าง
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; int main( ){ List<char> list ={ ‘F’, ‘B’, ‘U’, ‘A’, ‘R’, ‘Y’ }; cout<< “ List: “; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << “ “; / / declaring insert( ) function list.insert(x + 1, 1, ‘E’); / / printing new list after inserting new element cout<< “ New List:”; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< “ “ <<*x; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
Input – List: F B U A R Y Output – New List: F E B U A R Y
ตัวอย่าง
/ / C++ code to demonstrate the working of list insert( ) function in STL #include<iostream.h> #include<list.h> #include<vector.h> Using namespace std; int main( ){ list<int> list ={ 10, 44, 34, 98, 15 }; cout<< “ list: “; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << “ “; vector<int> l(2, 17); list.insert(x, l.begin( ), l.end( ) ); / / printing new list after inserting new element cout<< “ New list:”; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< “ “ <<*x; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
Input – List: 10 44 34 98 15 Output – New list: 17 17 10 44 34 98 15