📜  C ++ |新增和删除|问题4(1)

📅  最后修改于: 2023-12-03 14:59:36.706000             🧑  作者: Mango

C++ | 新增和删除 | 问题4

在 C++ 中,我们经常需要在程序运行过程中动态地操作数据,例如添加或删除元素。以下是一些常用的 C++ 容器类和相应的新增和删除操作:

vector
#include <vector>

std::vector<int> v;

// 添加
v.push_back(10); // 在 v 的末尾添加一个元素 10

// 删除
v.pop_back(); // 删除 v 中的最后一个元素
list
#include <list>

std::list<int> l;

// 添加
l.push_back(10); // 在 l 的末尾添加一个元素 10
l.push_front(20); // 在 l 的开头添加一个元素 20

// 删除
l.pop_back(); // 删除 l 中的最后一个元素
l.pop_front(); // 删除 l 中的第一个元素
deque
#include <deque>

std::deque<int> dq;

// 添加
dq.push_back(10); // 在 dq 的末尾添加一个元素 10
dq.push_front(20); // 在 dq 的开头添加一个元素 20

// 删除
dq.pop_back(); // 删除 dq 中的最后一个元素
dq.pop_front(); // 删除 dq 中的第一个元素
set 和 multiset
#include <set>

std::set<int> s;
std::multiset<int> ms;

// 添加
s.insert(10); // 在 s 中添加一个元素 10
ms.insert(10); // 在 ms 中添加一个元素 10

// 删除
s.erase(10); // 从 s 中删除一个值为 10 的元素
ms.erase(10); // 从 ms 中删除所有值为 10 的元素
map 和 multimap
#include <map>

std::map<int, std::string> m;
std::multimap<int, std::string> mm;

// 添加
m.insert(std::pair<int, std::string>(10, "hello")); // 在 m 中插入一个键值对 (10, "hello")
mm.insert(std::pair<int, std::string>(10, "world")); // 在 mm 中插入一个键值对 (10, "world")

// 删除
m.erase(10); // 从 m 中删除一个键为 10 的键值对
mm.erase(10); // 从 mm 中删除所有键为 10 的键值对

以上是一些常用的 C++ 容器类以及相应的新增和删除操作。当然,C++ 还有其他容器类,如 unordered_set、unordered_map 等,操作方法类似。需要注意的是,在进行新增和删除操作时,容器类的迭代器可能会失效,需要重新获取迭代器或者使用迭代器相关的操作函数。