C++ 在迭代时使用 HashMap 中的键删除条目
本教程将讨论如何在遍历时使用键从 HashMap 中删除条目。例如,
Input: HashMap: { 1: “Tutorials”,2: “Tutorials”,
3: “Point” }, key=1
Output: HashMap: { 2: “Tutorials”,
3: “Point” }.
Explanation: The first element is removed using key ‘1’.
Input: HashMap: { 1: “God”,
2: “is”,
3: “Great” }, key=2
Output: HashMap: { 1: “God”,
3: “Great” }.
寻找解决方案的方法
在 C++ 中,我们可以在 . erase()函数使用键删除条目。但是在这里,我们需要在迭代时将其删除,因此我们也需要一个迭代器。
在这里,我们将遍历 hashmap 并检查是否每个键都被删除,并在键匹配时删除条目。
示例
上述方法的 C++ 代码
无迭代
下面是在不迭代 HashMap 的情况下删除元素的代码。
#include<iostream>输出结果#include<map> // 用于映射操作
using namespace std;
int main(){
// 创建哈希映射。
map< int, string > mp;
// 在 Hashmap 中插入键值对。
mp[1]="Tutorials";
mp[2]="Tutorials";
mp[3]="Point";
int key = 2;
// 创建迭代器。
map<int, string>::iterator it ;
// 打印初始 Hashmap。
cout<< "HashMap before Deletion:\n";
for (it = mp.begin(); it!=mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
mp.erase(key);
// 删除后打印Hashmap。
cout<< "HashMap After Deletion:\n";
for (it = mp.begin(); it!=mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
return 0;
}
HashMap before Deletion:1->Tutorials
2->Tutorials
3->Point
HashMap After Deletion:
1->Tutorials
3->Point
示例
迭代HashMap时删除元素
#include<iostream>输出结果#include<map> // 用于映射操作
using namespace std;
int main(){
// 创建哈希映射。
map< int, string > mp;
// 在 Hashmap 中插入键值对。
mp[1]="Tutorials";
mp[2]="Tutorials";
mp[3]="Point";
int key = 2;
// 创建迭代器。
map<int, string>::iterator it ;
// 打印初始 Hashmap。
cout<< "HashMap before Deletion:\n";
for (it = mp.begin(); it!=mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
// 迭代 HashMap。
for (it = mp.begin(); it!=mp.end(); ++it){
int a=it->first;
// 使用所需的密钥检查迭代器密钥。
if(a==key){
// 擦除元素。
mp.erase(it);
}
}
// 删除后打印Hashmap。
cout<< "HashMap After Deletion:\n";
for (it = mp.begin(); it!=mp.end(); ++it)
cout << it->first << "->" << it->second << endl;
return 0;
}
HashMap before Deletion:1->Tutorials
2->Tutorials
3->Point
HashMap After Deletion:
1->Tutorials
3->Point
结论
在本教程中,我们讨论了如何从所HashMap.We讨论的删除条目的两种方法中删除条目,这些方法是迭代它和不迭代它。我们还讨论了针对这个问题的 C++ 程序,我们可以使用 C、Java、Python 等编程语言来解决这个问题。我们希望本教程对您有所帮助。
以上是 C++ 在迭代时使用 HashMap 中的键删除条目 的全部内容, 来源链接: utcz.com/z/362279.html