要删除STL容器,您需要遵循以下步骤:
erase()
方法。以下是一个示例:#include<iostream>
#include<vector>
int main() {
std::vector<int> my_vector = {1, 2, 3, 4, 5};
// 删除第一个元素
my_vector.erase(my_vector.begin());
// 删除最后一个元素
my_vector.pop_back();
// 删除指定元素
for (auto it = my_vector.begin(); it != my_vector.end(); ++it) {
if (*it == 3) {
my_vector.erase(it);
break;
}
}
// 输出结果
for (int i : my_vector) {
std::cout << i << " ";
}
return 0;
}
erase()
方法,如下所示:#include<iostream>
#include <list>
int main() {
std::list<int> my_list = {1, 2, 3, 4, 5};
// 删除第一个元素
my_list.erase(my_list.begin());
// 删除最后一个元素
my_list.pop_back();
// 删除指定元素
for (auto it = my_list.begin(); it != my_list.end(); ++it) {
if (*it == 3) {
my_list.erase(it);
break;
}
}
// 输出结果
for (int i : my_list) {
std::cout << i << " ";
}
return 0;
}
erase_if()
方法,如下所示:#include<iostream>
#include <map>
#include<algorithm>
int main() {
std::map<int, std::string> my_map = {{1, "one"}, {2, "two"}, {3, "three"}, {4, "four"}, {5, "five"}};
// 删除第一个元素
my_map.erase(my_map.begin());
// 删除最后一个元素
my_map.erase(--my_map.end());
// 删除指定元素
std::erase_if(my_map, [](const auto& item) { return item.first == 3; });
// 输出结果
for (const auto& item : my_map) {
std::cout<< item.first << ": "<< item.second<< std::endl;
}
return 0;
}
请注意,这些示例仅适用于C++编程语言。如果您使用的是其他编程语言,请参阅该语言的文档以获取有关如何删除STL容器的信息。
云+社区技术沙龙[第11期]
腾讯云数据湖专题直播
第四期Techo TVP开发者峰会
第四期Techo TVP开发者峰会
云+社区技术沙龙[第2期]
云+社区沙龙online第6期[开源之道]
云+社区技术沙龙[第14期]
云原生正发声
领取专属 10元无门槛券
手把手带您无忧上云