C++ <list> remove 函数
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;
}
#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;
}
#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>
点我分享笔记