std::deque::resize
#include <deque>
void resize(size_type count);
void resize(size_type count, const value_type& value);
Thay đổi kích thước của deque.
Tham số
count
- Kích thước mới của deque (số lượng phần tử).
- Nếu
count
nhỏ hơn kích thước hiện tại, các phần tử thừa ở cuối deque sẽ bị xóa. - Nếu
count
lớn hơn kích thước hiện tại, các phần tử mới sẽ được thêm vào cuối deque và được khởi tạo bằng giá trị mặc định của kiểu phần tử (ví dụ: 0 choint
, "" chostring
).
value
- Giá trị để khởi tạo các phần tử mới được thêm vào (nếu có).
- Nếu
count
nhỏ hơn kích thước hiện tại, các phần tử thừa ở cuối deque sẽ bị xóa. - Nếu
count
lớn hơn kích thước hiện tại, các phần tử mới sẽ được thêm vào cuối deque và được khởi tạo bằng giá trịvalue
.
Giá trị trả về
Không có giá trị trả về
Đặc điểm
resize()
thay đổi trực tiếp số lượng phần tử trong deque.resize()
có thể xóa bớt các phần tử ở cuối hoặc thêm các phần tử mới vào cuối deque, tùy thuộc vàocount
mới.- Các phần tử mới được thêm vào (nếu có) sẽ được khởi tạo bằng giá trị mặc định của kiểu phần tử hoặc bằng giá trị
value
được cung cấp. resize()
chỉ ảnh hưởng đến số lượng phần tử, không thay đổi giá trị của các phần tử đã tồn tại trước khi gọiresize()
.- Độ phức tạp: Độ phức tạp của
resize()
phụ thuộc vào sự chênh lệch giữa kích thước cũ và mới.- Nếu
count
nhỏ hơn kích thước hiện tại, độ phức tạp làO(n)
, với n là số phần tử bị xóa. - Nếu
count
lớn hơn kích thước hiện tại, độ phức tạp làO(m)
, với m là số phần tử được thêm mới.
- Nếu
Ví dụ
#include <iostream>
#include <deque>
int main() {
std::deque<int> myDeque = {1, 2, 3, 4, 5};
std::cout << "Original size: " << myDeque.size() << '\n'; // Output: Original size: 5
myDeque.resize(3);
std::cout << "Size after resize(3): " << myDeque.size() << '\n'; // Output: Size after resize(3): 3
std::cout << "Elements after resize(3):";
for (int x : myDeque) std::cout << ' ' << x; // Output: Elements after resize(3): 1 2 3
std::cout << '\n';
myDeque.resize(6);
std::cout << "Size after resize(6): " << myDeque.size() << '\n'; // Output: Size after resize(6): 6
std::cout << "Elements after resize(6):";
for (int x : myDeque) std::cout << ' ' << x; // Output: Elements after resize(6): 1 2 3 0 0 0
std::cout << '\n';
myDeque.resize(8, 99);
std::cout << "Size after resize(8, 99): " << myDeque.size() << '\n'; // Output: Size after resize(8, 99): 8
std::cout << "Elements after resize(8, 99):";
for (int x : myDeque) std::cout << ' ' << x; // Output: Elements after resize(8, 99): 1 2 3 0 0 0 99 99
std::cout << '\n';
return 0;
}
Các hàm liên quan
size | Lấy số lượng phần tử hiện có trong deque |
clear | Xóa tất cả các phần tử khỏi deque, làm cho deque trở thành rỗng |
erase | Xóa một hoặc nhiều phần tử khỏi deque tại một vị trí cụ thể hoặc trong một phạm vi |
max_size | Trả về số lượng phần tử tối đa mà deque có thể chứa |