c++哈希表删除元素
时间: 2023-11-11 11:57:09 浏览: 194
C语言中的哈希表删除元素可以使用unordered_map的erase()函数进行操作。该函数接受一个参数,即要删除的元素的键值。具体操作步骤如下:
1. 首先,包含头文件#include <unordered_map>。
2. 创建一个unordered_map对象,并向其中插入键值对。
3. 使用erase()函数删除指定的元素。该函数接受一个参数,即要删除的元素的键值。
4. 最后,可以通过遍历unordered_map对象,验证元素是否已删除。
下面是一个示例代码:
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> hashMap;
hashMap.insert({1, "aaa"});
hashMap.insert({2, "bbb"});
hashMap.insert({3, "ccc"});
hashMap.erase(2);
for (auto& pair : hashMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
输出结果为:
1: aaa
3: ccc
相关问题
C++哈希表怎么删除元素
C++中的哈希表可以使用STL库中的unordered_map实现,可以使用erase()函数来删除元素。erase()函数接受一个迭代器参数,可以通过迭代器来删除指定位置的元素,也可以通过键来删除元素。例如:
```c++
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<int, std::string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}};
// 删除键为2的元素
myMap.erase(2);
// 删除迭代器指向的元素
auto it = myMap.find(1);
if (it != myMap.end()) {
myMap.erase(it);
}
// 输出剩余元素
for (const auto& p : myMap) {
std::cout << "Key: " << p.first << ", Value: " << p.second << std::endl;
}
return 0;
}
```
上述代码中,使用erase()函数删除了键为2的元素和迭代器指向的键为1的元素,最终输出剩余的元素。
C++ 哈希表插入删除创建
哈希表是一种常见的数据结构,可以高效地进行元素的查找、插入和删除操作。在 C++ 中,可以使用标准库中的 unordered_map 实现哈希表。
下面是 unordered_map 的常用操作:
创建:
```c++
#include <unordered_map>
std::unordered_map<KeyType, ValueType> myMap;
```
插入元素:
```c++
myMap.insert({key, value});
```
删除元素:
```c++
myMap.erase(key);
```
查找元素:
```c++
auto iter = myMap.find(key);
if(iter != myMap.end()) {
// 找到了,可以使用 iter->second 访问对应的值
} else {
// 没找到
}
```
注意,unordered_map 中的元素是无序的。如果需要按照键值排序,可以考虑使用 std::map。
阅读全文