21xrx.com
2024-11-22 12:28:38 Friday
登录
文章检索 我的文章 写文章
C++中如何删除列表元素?
2023-06-22 07:56:35 深夜i     --     --
C++ 删除 列表元素 链表 STL

在C++中,列表(list)是一种非常常见的数据结构,它可以动态地增加或删除元素。当我们在进行编程过程中需要删除某个列表元素时,可以使用C++中提供的一些方法来实现。接下来,本文将介绍一些常用的列表元素删除方法。

1. erase()方法

erase()是列表类中自带的一个删除元素的函数,它可以删除一个或多个元素。使用该方法需要传入一个迭代器作为参数,这个迭代器指向我们要删除的元素。如果我们要删除多个元素,只需要传入要删除元素的迭代器的头和尾的位置即可。具体实现代码如下:


#include <iostream>

#include <list>

using namespace std;

void printList(list<int> myList){

  for (auto i : myList)

    cout << i << " ";

  

  cout << endl;

}

int main(){

  list<int> myList = 3;

  printList(myList);

  myList.erase(myList.begin()); //删除第一个元素

  printList(myList);

  myList.erase(myList.begin(), myList.end()); //删除所有元素

  printList(myList);

  return 0;

}

2. remove()方法

remove()方法是列表类中另一个常用的删除元素的方法,它可以删除列表中指定的元素。使用该方法要注意,它会将所有与指定元素相同的元素全部删除,而非只删除第一个。具体实现代码如下:


#include <iostream>

#include <list>

using namespace std;

void printList(list<int> myList){

  for (auto i : myList)

    cout << i << " ";

  

  cout << endl;

}

int main(){

  list<int> myList = 5 ;

  printList(myList);

  myList.remove(3); //删除元素3

  printList(myList);

  return 0;

}

总结

以上就是C++中删除列表元素的方法,总的来说,erase()方法常用于删除单个或多个指定位置的元素,而remove()方法常用于删除特定元素。在使用这两个函数时,我们需要小心处理好迭代器的位置,以免在程序中发生错误。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复