Computer >> Máy Tính >  >> Lập trình >> C ++

forward_list ::clear () và forward_list ::delete_ after () trong C ++ STL

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 forward_list ::clear () và forward_list ::delete_ after () trong C ++.

Forward_list trong STL là gì?

Danh sách chuyển tiếp là các vùng chứa trình tự cho phép các thao tác chèn và xóa theo thời gian liên tục ở bất kỳ đâu trong chuỗi. Danh sách chuyển tiếp được triển khai dưới dạng danh sách được liên kết đơn lẻ. Thứ tự được giữ bởi liên kết đến từng phần tử của liên kết với phần tử tiếp theo trong chuỗi.

forward_list ::clear () là gì?

forward_list ::clear () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề . clear () được sử dụng khi chúng ta phải loại bỏ tất cả các phần tử của danh sách chuyển tiếp cùng một lúc. Hàm này hủy tất cả các phần tử của danh sách chuyển tiếp và làm cho kích thước của danh sách chuyển tiếp bằng không.

Cú pháp

flist_container1.clear();

Tham số

Hàm này không chấp nhận tham số.

Giá trị trả lại

Hàm này không trả về gì.

Ví dụ

Input: forward_list<int> forward = {1, 2, 3, 4};
      forward.clear();
forward.size();
      Output: 0

Ví dụ

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> myList = { 10, 20, 30, 40 };
   myList.clear();
   for (auto i = myList.begin(); i!= myList.end(); ++i)
      cout << ' ' << *i;
      cout<<"List is cleared";
   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 -

List is cleared

forward_list ::delete_ after () là gì?

forward_list ::delete_ after () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề . xóa_ sau () được sử dụng khi chúng ta muốn xóa các phần tử trong danh sách chuyển tiếp sau một vị trí cụ thể. Kích thước của danh sách chuyển tiếp được giảm bớt do số phần tử bị xóa.

Cú pháp

flist_container1.erase_after(unsigned int position);

Tham số

Hàm này chấp nhận một tham số là vị trí mà chúng ta muốn xóa các phần tử từ đó

Giá trị trả lại

Hàm này không trả về gì.

Ví dụ

Input: forward_list<int> forward = {1, 2, 3, 4};
      forward.erased_after(2);
Output:
      Forward list after erase_after() = 1 2 3

Ví dụ

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> myList = { 10, 20, 30, 40, 50 };
   forward_list<int>::iterator i;
   i = myList.begin();
   myList.erase_after(i);
      cout<<"Elements are : ";
   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, nó sẽ tạo ra kết quả sau -

Elements are : 10 30 40 50