美文网首页
苹果源代码阅读笔记之HashTable

苹果源代码阅读笔记之HashTable

作者: 7hriller | 来源:发表于2016-08-11 00:57 被阅读34次

    C语言中有一种特殊的结构叫做联合体,这种数据结构的定义和内存分配问题这里不具体说明。

    苹果源代码中实现一个哈希表的过程中就使用到了联合体。

    由于哈希表的结构中有一个“桶”的概念,因此使用联合体就是为了解决散列表中的桶碰撞的问题。

    当桶中只有一个元素时,桶指针会直接指向这个数据元素本身的地址;当桶中有多个元素时,这些元素会放在一个数组中,桶指针会指向这个数组首地址。

    此时的桶内可能的数据结构就可能有两种,要么是唯一的数据,要么是一个数组。

    因此苹果就将桶的数据结构设计为联合体,很合理地描述了这个桶的特性。

    相关文章

      网友评论

          本文标题:苹果源代码阅读笔记之HashTable

          本文链接:https://www.haomeiwen.com/subject/awwjsttx.html