
哈希表是什么哈希表是一种极为常见的数据结构无论是在算法学习还是项目实战中都有极为广泛的应用。哈希表 - OI Wiki 如此解释道哈希表又称散列表一种以「key-value」形式存储数据的数据结构。所谓以「key-value」形式存储数据是指任意的键值 key 都唯一对应到内存中的某个位置。只需要输入查找的键值就可以快速地找到其对应的 value。可以把哈希表理解为一种高级的数组这种数组的下标可以是很大的整数浮点数字符串甚至结构体。不知大家是否想过一个问题其实最普通的数组也是一种简单的哈希表。我们可以通过下标的方式迅速访问我们的目标的元素。但是随着各种复杂的情景我们需要更为复杂的哈希结构在C语言中并没有更多的原生数据结构了但是别急本文就带你了解C语言也能使用的哈希表uthash。再此前我们先看看主流语言中的哈希表是怎样的主流语言中的哈希表是怎样的在多数主流语言中内置了哈希表这种数据结构使用起来也很方便。C#include iostream #include string #include unordered_map int main() { // 创建hash对象 std::unordered_mapint, std::string hashTable; // 添加元素 hashTable[0] False; hashTable[1] True; // 迭代并打印 for (const auto node : hashTable) { std::cout Key node.first Value node.second std::endl; } return 0; }javaimport java.util.HashMap; public class Main { public static void main(String[] args) { // 创建hash对象 HashMapInteger, String hashTable new HashMapInteger, String(); // 添加元素 hashTable.put(0, False); hashTable.put(1, True); // 迭代并打印 for (var node : hashTable.entrySet()) { System.out.println(Key node.getKey() Value node.getValue()); } } }python# 创建hash对象 hashTable dict() # 添加元素 hashTable[0] False hashTable[1] True # 迭代并打印 for k, v in hashTable.items(): print(fKey {k} Value {v})