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