ในบทความนี้ เราจะพูดถึงฟังก์ชัน deque::at() และ deque::swap() ในไวยากรณ์ของฟังก์ชัน C++ STL การทำงาน และค่าที่ส่งคืน
ฟังก์ชัน deque::at() และ deque::swap() ใน STL คืออะไร
คิว Deque หรือ Double สิ้นสุดตามชื่อ คอนเทนเนอร์ลำดับซึ่งสามารถขยายหรือหดได้ทั้งสองด้าน ผู้ใช้สามารถแทรกข้อมูลได้อย่างง่ายดายจากส่วนปลายใดๆ และลบข้อมูลออกจากส่วนปลายใดๆ ในทำนองเดียวกัน พวกมันคล้ายกับเวกเตอร์ แต่ความแตกต่างเพียงอย่างเดียวคือไม่รับประกันการจัดสรรพื้นที่เก็บข้อมูลที่ต่อเนื่องกัน ซึ่งแตกต่างจากเวกเตอร์ Still Deque จะมีประสิทธิภาพมากกว่าในกรณีที่มีการแทรกและลบองค์ประกอบที่ปลายทั้งสองข้าง
deque::at()
ฟังก์ชัน at() ใช้เพื่ออ้างอิงถึงองค์ประกอบที่อยู่ในตำแหน่งเฉพาะที่กำหนดให้เป็นพารามิเตอร์ของฟังก์ชัน
ไวยากรณ์
dequename.at(position of element)
พารามิเตอร์
ตำแหน่งขององค์ประกอบ
ผลตอบแทนที่ได้รับ
อ้างอิงโดยตรงกับองค์ประกอบในตำแหน่งที่กำหนด
ตัวอย่าง
Input : adeque = 1, 3, 4, 5, 8 adeque.at(3); Output : 5 Input : adeque = 1, 3, 5, 7,9 adeque.at(2); Output : 5
ตัวอย่าง
#include <deque> #include <iostream> using namespace std; int main(){ deque<int> adeque; adeque.push_back(1); adeque.push_back(3); adeque.push_back(4); adeque.push_back(5); adeque.push_back(8); cout << adeque.at(3); return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
5
deque::swap()
ฟังก์ชัน swap() ใช้เพื่อแลกเปลี่ยนหรือสลับองค์ประกอบของสอง deque ที่มีประเภทเดียวกันและขนาดเท่ากัน
ไวยากรณ์
Deque1name.swap(deque2name)
พารามิเตอร์
พารามิเตอร์ประกอบด้วยชื่อของ deque ซึ่งเนื้อหาของ deque1 จะต้องมีการกำหนดรูปแบบ
ผลตอบแทนที่ได้รับ
องค์ประกอบทั้งหมดของดีคทั้งสองจะถูกสับเปลี่ยนหรือสับเปลี่ยน
ตัวอย่าง
Input : adeque = {1, 3, 4, 5, 8} bdeque = {2, 6, 7, 9, 0} adeque.swap(bdeque); Output : adeque = {2, 6, 7, 9, 0} bdeque = {1, 3, 4, 5, 8}
ตัวอย่าง
#include <deque> #include <iostream> using namespace std; int main(){ // deque container declaration deque<int> adeque{ 1, 2, 3, 4 }; deque<int> bdeque{ 3, 5, 7, 9 }; // using swap() function to swap elements of deques adeque.swap(bdeque); // code for printing the elemets of adeque cout << "adeque = "; for (auto it = adeque.begin(); it < adeque.end(); ++it) cout << *it << " "; // code for printing the elemets of bdeque cout << endl << "bdeque = "; for (auto it = bdeque.begin(); it < bdeque.end(); ++it) cout << *it << " "; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
adeque = {2, 6, 7, 9, 0} bdeque = {1, 3, 4, 5, 8}