Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và ví dụ của các hàm deque ::at () và deque ::swap () trong C ++ STL.
Deque là gì?
Deque là Hàng đợi kết thúc kép là các vùng chứa trình tự cung cấp chức năng mở rộng và thu hẹp ở cả hai đầu. Một cấu trúc dữ liệu hàng đợi cho phép người dùng chỉ chèn dữ liệu ở vị trí KẾT THÚC và xóa dữ liệu khỏi ô TRƯỚC. Hãy lấy sự tương tự của hàng đợi tại các điểm dừng xe buýt nơi người đó có thể được chèn vào hàng đợi chỉ từ END và người đứng ở FRONT là người đầu tiên bị loại bỏ trong khi trong hàng đợi Double end, việc chèn và xóa dữ liệu có thể thực hiện được ở cả hai kết thúc.
deque ::at () là gì?
deque ::at () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề
Cú pháp
mydeque.at(int position);
Tham số
Hàm này chấp nhận một tham số cho vị trí mà chúng ta muốn trỏ đến.
Giá trị trả về
Nó trả về một tham chiếu đến phần tử trên vị trí được chỉ định của vùng chứa deque.
Ví dụ
Input: deque<int> mydeque = {10, 20, 30, 40}; mydeque.at(2);
Đầu ra
Phần tử ở 2 vị trí là 30.
Ví dụ
#include <deque> #include <iostream> using namespace std; int main(){ deque<int> myDeque; myDeque.push_back(90); myDeque.push_back(80); myDeque.push_back(70); myDeque.push_back(60); myDeque.push_back(50); myDeque.push_back(40); myDeque.push_back(30); myDeque.push_back(20); myDeque.push_back(10); for (int i = 0; i < myDeque.size(); ++i){ if (i % 2 == 0){ cout << myDeque.at(i); cout << " "; } } return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
90 70 50 30 10
deque ::swap () là gì?
deque ::swap () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề
Cú pháp
mydeque1.swap(type_t& mydeque2);
Tham số
Hàm này chấp nhận một tham số, tức là tham chiếu đến deque có dữ liệu mà chúng ta muốn hoán đổi với deque được liên kết.
Giá trị trả về
Nó không trả lại gì.
Ví dụ
Input: deque<int> even = {2, 4, 6, 8}; deque<int> odd = {1, 3, 5, 7}; even.swap(odd); Output: Even deque: 1 3 5 7 Odd deque: 2 4 6 8
Ví dụ
#include <deque> #include <iostream> using namespace std; int main(){ deque<int> Deque_1 = { 1, 2, 3, 4 }; deque<int> Deque_2 = { 3, 5, 7, 9 }; Deque_1.swap(Deque_2); cout<<"Deque_1 elements after swapping : "; for (auto i = Deque_1.begin(); i< Deque_1.end(); ++i) cout << *i << " "; cout <<endl<<"Deque_2 elements after swapping : "; for (auto i = Deque_2.begin(); i<Deque_2.end(); ++i) cout << *i << " "; return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Deque_1 elements after swapping : 3 5 7 9 Deque_2 elements after swapping : 1 2 3 4