C++ List::remove() 函式



C++ 的 std::list::remove() 函式用於從列表中刪除元素。它接受一個引數作為任意型別(int、char、string 等),並從當前列表中移除與指定元素匹配的元素;否則,當前列表不會發生任何變化。它會根據從列表中移除的元素數量減少列表的大小。它不返回任何值,因為函式的返回型別是 void。

語法

以下是 C++ std::list::remove() 函式的語法:

void remove (const value_type& val);

引數

  • val − 要移除的元素的值。

返回值

此函式不返回任何值。

示例 1

如果給定元素存在於列表中。

在下面的程式中,我們使用 C++ std::list::remove() 函式從當前列表 {10, 20, 30, 40, 50, 60} 中移除指定的元素 20(如果匹配)。

#include<iostream>
#include<list>
using namespace std;

int main(void) {
   list<int> lst = {10, 20, 30, 40, 50, 60};
   cout<<"The list elements before the remove operation: "<<endl;
   for(int l : lst){
      cout<<l<<" ";
   }
   int ele = 10;
   cout<<"\nThe element value: "<<ele;
   //using the remove() function
   lst.remove(10);
   cout<<"\nThe list elements after the remove operation: ";
   for(int l1 : lst){
      cout<<l1<<" ";
   }
}

輸出

執行上述程式後,將產生以下輸出:

The list elements before the remove operation: 
10 20 30 40 50 60 
The element value: 10
The list elements after the remove operation: 20 30 40 50 60 

示例 2

如果給定元素不存在於列表中,remove() 函式不會從列表中移除任何元素,當前列表不會發生任何變化。

以下是 std::list::remove() 函式的另一個示例,在這裡,我們建立一個包含值 {'A', 'B', 'C', 'D'} 的列表(型別為 char),並使用此函式嘗試移除指定元素 'E'(如果匹配)。

#include<iostream>
#include<list>
using namespace std;

int main(void) {
   list<char> lst = {'A', 'B', 'C', 'D'};
   cout<<"The list elements before the remove operation: "<<endl;
   for(char l : lst){
      cout<<l<<" ";
   }
   char ele = 'E';
   cout<<"\nThe element value: "<<ele;
   //using the remove() function
   lst.remove(ele);
   cout<<"\nThe list elements after the remove operation: ";
   for(char l1 : lst){
      cout<<l1<<" ";
   }
}

輸出

以下是上述程式的輸出:

The list elements before the remove operation: 
A B C D 
The element value: E
The list elements after the remove operation: A B C D 

示例 3

您還可以從列表(型別為 string)中移除字串值。

在此示例中,我們建立一個名為 fruits 的列表(型別為 string),其值為 {"Mango", "Banana", "Apple", "Grapes"}。然後,使用 std::list::remove() 函式,我們嘗試移除此列表中的元素 'Apple'(如果存在)。

#include<iostream>
#include<list>
using namespace std;

int main(void) {
   list<string> fruits = {"Mango", "Banana", "Apple", "Grapes"};
   cout<<"The list elements before the remove operation: "<<endl;
   for(string l : fruits){
      cout<<l<<" ";
   }
   string ele = "Apple";
   cout<<"\nThe element value: "<<ele;
   //using the remove() function
   fruits.remove(ele);
   cout<<"\nThe list elements after the remove operation: ";
   for(string l1 : fruits){
      cout<<l1<<" ";
   }
}

輸出

上述程式生成以下輸出:

The list elements before the remove operation: 
Mango Banana Apple Grapes 
The element value: Apple
The list elements after the remove operation: Mango Banana Grapes 
廣告