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

Liệt kê hàm remove () 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à các ví dụ của hàm remove () 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.

Loại bỏ ()

là gì

remove () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề. remove () được sử dụng để xóa bất kỳ giá trị / phần tử cụ thể nào khỏi vùng chứa danh sách. Nó nhận giá trị được truyền dưới dạng tham số và xóa tất cả các phần tử có giá trị đó khỏi vùng chứa danh sách. Hàm gọi hàm hủy nếu kích thước của phần tử bị xóa lớn hơn kích thước của vùng chứa danh sách.

Cú pháp

list_name.remove(const value_type& value);

Hàm này chấp nhận một giá trị sẽ được tìm kiếm từ vùng chứa danh sách và sẽ được loại bỏ.

Giá trị trả lại

Hàm này không trả về gì, chỉ xóa phần tử khỏi vùng chứa.

Ví dụ

/*
In the code below we are inserting elements to the list and then we will try to remove the elements from the list using their values. */
#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(1);
   myList.push_back(3);
   myList.push_back(2);
   myList.push_back(5);
   //my list before removing elements
   cout<<"List before removing elements: ";
   for (auto i = myList.begin(); i!=myList.end(); i++){
      cout << *i << " ";
   }
   //deleting 1 2 and 3 from the list
   myList.remove(1);
   myList.remove(2);
   myList.remove(3);
   // List after removing elements
   cout << "\nList after removing elements: ";
   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 before removing elements: 1 1 3 2 5
List after removing elements: 5