C++ <list> remove 函数

C++ 容器类 <list> C++ 容器类 <list>


remove 是 list 中用于删除所有等于指定值的元素的函数,是链表特有的高效操作。

remove 是容器类的成员函数,用于删除链表中所有等于指定值的元素。

在 list 中,remove 的时间复杂度是 O(n)。

单词释义remove 表示"移除",即删除所有等于指定值的元素。


基本语法与参数

语法格式

void remove(const T& value);

参数说明

  • 参数value - 要删除的元素值

函数说明

  • 返回值void (无返回值)。
  • 效果: 删除链表中所有等于 value 的元素。

实例

示例 1:删除所有等于指定值的元素

实例

#include <iostream>
#include <list>

int main() {
    std::list<int> numbers = {1, 2, 3, 2, 4, 2, 5};

    std::cout << "原始: ";
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    // 删除所有等于 2 的元素
    numbers.remove(2);

    std::cout << "remove(2) 后: ";
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    return 0;
}

运行结果预期:

原始: 1 2 3 2 4 2 5
remove(2) 后: 1 3 4 5

示例 2:删除字符串

实例

#include <iostream>
#include <list>
#include <string>

int main() {
    std::list<std::string> words = {"apple", "banana", "apple", "cherry", "apple"};

    std::cout << "原始: ";
    for(const auto& w : words) std::cout << w << " ";
    std::cout << std::endl;

    words.remove("apple");

    std::cout << "remove(\"apple\") 后: ";
    for(const auto& w : words) std::cout << w << " ";
    std::cout << std::endl;

    return 0;
}

运行结果预期:

原始: apple banana apple cherry apple
remove("apple") 后: banana cherry

C++ 容器类 <list> C++ 容器类 <list>