Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รายการแทรก ( ) ใน C ++ STL


กำหนดให้เป็นหน้าที่แสดงรายการฟังก์ชันการแทรก ( ) ฟังก์ชันใน 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