多重关连数组
在计算机科学中,多重关连数组(英语:multimap),是一种抽象数据结构,它存储著(键,值)的有序对,和map不同之处在于,多重关连数组的有序对可以重复。通常,多重关连数组是利用在map中使用串列或集合当作值的字段。
这种数据结构包含以下几种常见操作:
- 向关系数组添加配对
- 从关系数组内删除配对
- 修改关系数组内的配对
- 根据已知的键查找配对
使用模式
- 当需要对一同一个键值存储大量资料时,可以使用多重关连数组。
- 举例来说,在学生选课系统中,一个学生可以选择多门课程,可以使用多重关连数组,将有序对(学生ID, 课程ID)存入多重关连数组中。
语言支持
C++
C++的标准模板库提供利用平衡树来实现多重关连数组,[1] ,且SGI的标准模板库提供了利用散列表hash_multimap
[2]
Dart
由Quiver提供。[3]
参见
参考文献
- ^ "multimap<Key, Data, Compare, Alloc>" (页面存档备份,存于互联网档案馆).
- ^ "hash_multimap<Key, HashFcn, EqualKey, Alloc>" (页面存档备份,存于互联网档案馆).
- ^ "Multimap" (页面存档备份,存于互联网档案馆).