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

deque_emplace ใน C ++ ใน STL


กำหนดให้เป็นหน้าที่แสดงการทำงานของฟังก์ชัน Deque emplace( ) ใน C++ STL

เด็คคืออะไร

Deque คือ Double Ended Queues ซึ่งเป็นคอนเทนเนอร์ลำดับที่ให้การทำงานของการขยายและการหดตัวทั้งสองด้าน โครงสร้างข้อมูลคิวอนุญาตให้ผู้ใช้แทรกข้อมูลได้เฉพาะที่ END และลบข้อมูลออกจาก FRONT ลองมาเปรียบเทียบคิวที่ป้ายรถเมล์ที่คนสามารถแทรกลงในคิวจาก END เท่านั้นและบุคคลที่ยืนอยู่ด้านหน้าจะเป็นคนแรกที่ถูกลบในขณะที่ในคิวแบบ Double End การแทรกและการลบข้อมูลทำได้ทั้งสองแบบ จบ.

ฟังก์ชัน emplace( ) คืออะไร

ฟังก์ชัน emplace( ) แทรกองค์ประกอบใหม่ก่อนตำแหน่งที่ระบุใน deque และเพิ่ม deque ตามขนาดขององค์ประกอบ

ไวยากรณ์

iterator emplace(const_iterator position, value_type value);

พารามิเตอร์

ตำแหน่ง − กำหนดตำแหน่งในคอนเทนเนอร์ที่แทรกองค์ประกอบใหม่

ความคุ้มค่า − นอกจากนี้ยังกำหนดค่าหรืออาร์กิวเมนต์ใหม่ที่จะแทรกในคอนเทนเนอร์

คืนค่า − ส่งคืนตัววนซ้ำซึ่งชี้ไปที่องค์ประกอบที่แทรกใหม่ใน deque

ตัวอย่าง

ป้อนข้อมูล เด็ค − 96 97 98 100

ผลผลิต ใหม่ Deque หลังจากใส่องค์ประกอบใหม่ − 96 97 98 99 100

ป้อนข้อมูล Deque − C P T A I N

ผลผลิต New Deque หลังจากใส่องค์ประกอบใหม่ − C A P T A I N

แนวทางสามารถติดตามได้

  • ขั้นแรก เราประกาศเดค

  • จากนั้นเราก็พิมพ์ดีค

  • จากนั้นเราจะกำหนดฟังก์ชัน emplace( )

  • จากนั้นเราพิมพ์ deque ใหม่หลังจากใส่องค์ประกอบใหม่

โดยใช้วิธีการข้างต้น เราสามารถป้อนองค์ประกอบใหม่ใน deque ในขณะที่กำหนดฟังก์ชัน emplace( ) เรายังกำหนดตำแหน่งและเรายังกำหนดค่าใหม่ที่จะแทรกใน deque

ตัวอย่าง

// C++ code to demonstrate the working of deque emplace( ) function
#include<iostream.h>
#include<deque.h>
Using namespace std;
int main ( ){
   // initializing the deque
   Deque<int> deque = { 85, 87, 88, 89, 90 };
   // print the deque
   cout<< “ Deque: “;
   for( auto x = deque.begin( ); x != deque.end( ); ++x)
   cout<< *x << “ “;
   deque<int> iterator x;
   // defining the emplace( ) function
   deque.emplace(deque.emplace( ) + 1, 85);
   // printing deque after inserting new element
   cout<< “ New Deque:”;
   for( x = deque.begin( ) ; x != deque.end( ); ++x)
      cout<< “ “ <<*x;
   return 0;
}

ผลลัพธ์

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

Input - Deque: 85 87 88 89 90
Output - New Deque: 85 86 87 88 89 90

ตัวอย่าง

// C++ code to demonstrate the working of deque emplace( ) function
#include<iostream.h>
#include<deque.h>
Using namespace std;
int main( ){
   // initializing deque
   deque<char> deque ={ ‘L’ , ‘A’ , ‘C’ , ‘K’ };
   cout<< “ Deque: “;
   for( auto x = deque.begin( ); x != deque.end( ); ++x)
   cout<< *x << “ “;
   deque<int> iterator x;
   // defining the emplace( ) function
   deque.emplace(deque.emplace( ) , ‘B’)
   // printing deque in after inserting new element
   cout<< “ New deque:”;
   for( auto x = deque.begin( ) ; x >= deque.end( ); ++x)
      cout<< “ “ <<*x;
   return 0;
}

ผลลัพธ์

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

Input – Deque: L A C K
Output – New Deque : B L A C K