Hướng dẫn cách lấy và thay đổi kích thước forward_list trong C++. Bạn sẽ học được cách dùng hàm distance và hàm resize để lấy kích thước cũng như thay đổi kích thước của forward_list trong C++ sau bài học này.
Lấy kích thước forward_list trong C++ bằng hàm distance
Khác với các với các Containers library khác như list hay vector vốn dùng hàm size() để lấy số phần tử, thì trong forward_list lại không tồn tại hàm size(), do đó chúng ta cần phải sử dụng tới hàm thay thế là template function là hàm distance().
Hàm distance là một hàm thành viên trong class std:iterator, có tác dụng đếm số phần tử trong một phạm vi chỉ định của đối tượng trong C++.
Chúng ta sử dụng hàm distance để lấy kích thước forward_list trong C++ với cú pháp như sau:
std::distance(f_lst.begin(), f_lst.end())
Trong đó f_lst
là forward_list lấy số phần tử chứa trong nó.
Ví dụ cụ thể, chúng ta lấy kích thước forward_list trong C++ bằng hàm distance như sau:
|
Kết quả:
4 |
Thay đổi kích thước forward_list trong C++ bằng hàm resize
Hàm resize là một hàm thành viên trong class std:forward_list, có tác dụng thay đổi kích thước ban đầu của forward_list trong C++.
Cú pháp của hàm resize trong C++ như sau:
f_lst.resize(n);
Trong đó f_lst
là forward_list cần thay đổi kích thước, và n
là kích thước cần thay đổi.
Nếu n
nhỏ hơn kích thước(số phần tử) ban đầu của forward_list thì các phần tử bị thừa sẽ bị xóa đi.
Ngược lại nếu n
lớn hơn kích thước(số phần tử) ban đầu của forward_list, các giá trị mặc định tùy thuộc vào kiểu dữ liệu sẽ được thêm vào forward_list cho đủ độ dài. Ví dụ nếu forward_list thuộc kiểu số như int hay double thì số 0 sẽ được thêm vào. Còn nếu forward_list thuộc kiểu chữ như char hay string, giá trị trống sẽ được thêm vào.
Ví dụ cụ thể, chúng ta thay đổi kích thước forward_list trong C++ bằng hàm distance như sau:
|
Kết quả:
3 1 4 5 |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách lấy và thay đổi kích thước của forward_list trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.
URL Link
HOME › lập trình c++ cơ bản dành cho người mới học lập trình>>21. forward_list trong c++