Bài viết trình bày chức năng của deque::resize() trong C++ STL.
Deque là gì?
Deque (Double Ended Queue) là hàng đợi hai đầu, là container trình tự cho phép mở rộng và thu hẹp ở cả hai đầu. Khác với queue thông thường chỉ cho phép chèn ở cuối và xóa ở đầu, deque cho phép chèn/xóa ở cả hai đầu.
deque::resize() là gì?
Hàm deque::resize() thay đổi kích thước deque. Nếu kích thước mới lớn hơn kích thước hiện tại, các phần tử mới được chèn vào cuối (giá trị mặc định 0 cho int). Nếu kích thước mới nhỏ hơn, các phần tử thừa ở cuối bị xóa.
Cú pháp
deque_name.resize(n)
n: kích thước mới của deque.
Ví dụ
Đầu vào Kích thước hiện tại: 5, Deque: 12 13 14 15 16
Đầu ra Kích thước mới: 7, Deque mới: 12 13 14 15 16 0 0
Cách tiếp cận
- Khai báo deque
- Kiểm tra size
- In deque
- Gọi resize()
- In deque sau resize
Ví dụ 1
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> dq = {85, 87, 88, 89, 90};
cout << "Size of deque: " << dq.size() << "\n";
cout << "Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
dq.resize(7);
cout << "\nDeque after resize: " << dq.size() << "\n";
cout << "New Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
return 0;
}
Kết quả
Size of deque: 5 Deque: 85 87 88 89 90 Deque after resize: 7 New Deque: 85 87 88 89 90 0 0
Ví dụ 2
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> dq = {14, 15, 16, 17, 18, 19, 20};
cout << "Size of deque: " << dq.size() << "\n";
cout << "Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
dq.resize(5);
cout << "\nDeque after resize: " << dq.size() << "\n";
cout << "New Deque: ";
for(auto x = dq.begin(); x != dq.end(); ++x)
cout << *x << " ";
return 0;
}
Kết quả
Size of deque: 7 Deque: 14 15 16 17 18 19 20 Deque after resize: 5 New Deque: 14 15 16 17 18