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 
广告