c语言常见的数据结构有哪些?

Python010

c语言常见的数据结构有哪些?,第1张

1、线性数据结构

元素之间一般存在元素之间存在一对一关系,是最常用的一类数据结构,典型的有:数组、栈、队列和线性表。

2、树形结构

结点间具有层次关系,每一层的一个结点能且只能和上一层的一个结点相关,但同时可以和下一层的多个结点相关,称为“一对多”关系,常见类型有:树、堆。

3、图形结构

在图形结构中,允许多个结点之间相关,称为“多对多”关系。

(1)线性数据结构:元素之间一般存在元素之间存在一对一关系,是最常用的一类数据结构,典型的有:数组、栈、队列和线性表

(2)树形结构:结点间具有层次关系,每一层的一个结点能且只能和上一层的一个结点相关,但同时可以和下一层的多个结点相关,称为“一对多”关系,常见类型有:树、堆

(3)图形结构:在图形结构中,允许多个结点之间相关,称为“多对多”关系

实现了链表,栈、哈希表等

哈希表由数组加链表实现。通过计算key的哈希值,将哈希值转成int类型并与数组长度进行与运算得到数组下标,数组每个元素都是一个链表,默认为NULL。

通过InitHashTable函数得到初始化的哈希表。已实现功能有:添加键值、删除键值、根据键获取值,清理所有键值对、回收哈希表,可以根据例子遍历键值。

Key可以扩展为任何类型,但需要实现相应类型HashCode的算法,此处只支持字符串类型。

C语言实现常用数据结构二

项目地址

md5.h

md5.c

m_hashtable.h

m_hashtable.c

测试使用