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