งานนี้เป็นการแสดงฟังก์ชันการทำงานของ deque::emplace_front() และ deque::emplace_back() ใน C++ STL
Deque คืออะไร
Deque หรือ Double Ended Queues เป็นคอนเทนเนอร์ลำดับที่ให้ฟังก์ชันการขยายและหดตัวได้ทั้งสองข้าง คิวโครงสร้างข้อมูลทั่วไปอนุญาตให้แทรกข้อมูลเฉพาะที่ท้ายและลบข้อมูลจากหน้าเท่านั้น การเปรียบเทียบกับคิวที่ป้ายรถเมล์ ที่คนสามารถแทรกเข้าคิวได้เฉพาะท้าย และคนหน้าสุดจะออกก่อน ส่วน deque แทรกและลบได้ทั้งสองข้าง
emplace_front() คืออะไร
ฟังก์ชัน emplace_front() แทรกองค์ประกอบใหม่ที่หน้าของ deque
ไวยากรณ์
deque_name.emplace_front(value)
พารามิเตอร์
value - กำหนดองค์ประกอบใหม่ที่จะแทรกที่หน้าใน deque
ตัวอย่าง
อินพุต Deque - 12 13 14 15 16
เอาต์พุต New Deque - 11 12 13 14 15 16
อินพุต Deque - O R C E
เอาต์พุต New Deque: F O R C E
แนวทางการทำงาน
- ประกาศ deque ก่อน
- พิมพ์ deque
- กำหนดฟังก์ชัน emplace_front()
- พิมพ์ deque ใหม่หลังแทรกองค์ประกอบใหม่
ด้วยแนวทางด้านบน เราสามารถแทรกองค์ประกอบใหม่ที่หน้าได้ ในการกำหนดฟังก์ชัน เรากำหนดองค์ประกอบใหม่เป็นพารามิเตอร์ องค์ประกอบใหม่ควรมีชนิดข้อมูลเดียวกับ deque
ตัวอย่าง
// C++ code to demonstrate the working of deque emplace_front() function
#include <iostream>
#include <deque>
using namespace std;
int main() {
// initializing the deque
deque<int> dq = { 85, 87, 88, 89, 90 };
// print the deque
cout << "Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
// defining the emplace_front() function
dq.emplace_front(78);
// printing deque after inserting new element
cout << "\nNew Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
return 0;
}เอาต์พุต
Deque: 85 87 88 89 90 New Deque: 78 85 87 88 89 90