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à các ví dụ của hàm list ::resize () trong C ++.
Danh sách trong STL là gì
Danh sách là một cấu trúc dữ liệu cho phép chèn và xóa theo thời gian liên tục ở bất kỳ đâu theo trình tự. Danh sách được triển khai dưới dạng danh sách được liên kết kép. Danh sách cho phép phân bổ bộ nhớ không liền kề. Danh sách thực hiện trích xuất chèn và di chuyển phần tử ở bất kỳ vị trí nào trong vùng chứa tốt hơn so với mảng, vectơ và deque. Trong Danh sách, truy cập trực tiếp vào phần tử chậm và danh sách tương tự như forward_list, nhưng các đối tượng danh sách chuyển tiếp là danh sách được liên kết đơn và chúng chỉ có thể được lặp lại về phía trước.
list ::resize () là gì?
list ::resize () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề. resize () được sử dụng để thay đổi kích thước của vùng chứa danh sách. Nó thay đổi kích thước vùng chứa để nó chứa số phần tử mà chúng ta đưa ra trong đối số của hàm.
Cú pháp
list_name.resize(int n);
hoặc
list_name.resize(int n, const value_type &val);
Hàm này có thể chấp nhận một hoặc hai tham số bên trong.
Tham số
-
n - Đây là kiểu số nguyên xác định kích thước vùng chứa mới (số phần tử).
-
val - Đối tượng có nội dung sẽ được sao chép vào tất cả các khoảng trống trong vùng chứa.
Giá trị trả về
Hàm này không trả về gì. Nó sẽ chỉ thay đổi kích thước vùng chứa.
Ví dụ
#include <bits/stdc++.h> using namespace std; int main(){ //create a list list<int> myList; //insert elements to the list myList.push_back(1); myList.push_back(2); myList.push_back(3); myList.push_back(4); //elemets in th list before Resize cout << "List elements are : "; for (auto i = myList.begin(); i!= myList.end(); i++) cout << *i << " "; //Resizing list myList.resize(5); cout<<"\nList after resize: "; for (auto i = myList.begin(); i!= myList.end(); i++) cout << *i << " "; //Resizing list again myList.resize(6); cout<<"\nList after resizing it again : "; for (auto i = myList.begin(); i != myList.end(); i++) cout << *i << " "; return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên thì nó sẽ tạo ra kết quả sau
List elements are : 1 2 3 4 List after resize : 1 2 3 4 0 List after resizing it again : 1 2 3 4 0 0