全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  c语言技术干货  >  详情

c++list(stllist)删除元素方法

来源:千锋教育
发布人:zyh
2023-05-31

推荐

  在 C++ 中,std::list 是一个双向链表容器,提供了删除元素的多种方法。以下是几种常用的删除元素的方法:

  erase() 函数:该函数用于删除指定位置的元素或者指定范围的元素。 

iterator erase (iterator position);
iterator erase (iterator first, iterator last);

   示例:

std::list<int> myList = {1, 2, 3, 4, 5};

// 删除指定位置的元素
auto it = myList.begin();
std::advance(it, 2); // 将迭代器移动到要删除的位置
myList.erase(it); // 删除第三个元素

// 删除指定范围的元素
auto first = myList.begin();
auto last = myList.end();
std::advance(first, 1); // 将迭代器移动到要删除的起始位置
std::advance(last, -1); // 将迭代器移动到要删除的结束位置
myList.erase(first, last); // 删除第二个和倒数第二个元素

   remove() 函数:该函数用于删除指定值的所有元素。  

void remove (const value_type& val);

   示例:

std::list<int> myList = {1, 2, 3, 2, 4, 5};

myList.remove(2); // 删除所有值为2的元素

   pop_front() 和 pop_back() 函数:分别用于删除链表的第一个元素和最后一个元素。

void pop_front();
void pop_back();

   示例: 

std::list<int> myList = {1, 2, 3, 4, 5};

myList.pop_front(); // 删除第一个元素
myList.pop_back(); // 删除最后一个元素

   这些是 std::list 容器中常用的删除元素的方法,可以根据具体的需求选择适合的方法进行删除操作。需要注意的是,在删除元素后,容器的迭代器可能会失效,所以需要谨慎操作。

相关推荐

在线咨询 免费试学 教程领取