链表(LinkedList) (C 语言实现)
发布时间
阅读量:
阅读量
链表作为一种物理存储单元非连续且非顺序的存储方式,其数据元素之间的逻辑排列关系是通过链表内部指针链接的顺序来实现的。
单链表包含一个头节点head,该节点用于指示链表在内存中的起始位置。链表中每个节点的数据类型均为结构体形式,结构体包含两个组成部分:一个用于存储整型数据的成员变量,以及一个指向下一个结构体节点的指针,该指针实际上表示了下一个节点在内存中的地址(实际上,这种单链表结构可以被视作一种用于存储整型数据的动态数组)。对于链表中各个节点的访问操作必须从头节点开始逐层进行,当前节点会提供后续节点的具体地址。无论需要访问的是哪一个节点,都必须从链表头部依次查找。由于尾节点之后不再存在其他节点,因此其指针域为空,并以NULL表示。如图:

上图还传递出另一层信息,即链表结构中各个节点在内存中的存储位置并不连续,这些节点的地址是在实际需求出现时向系统请求分配的。系统依据当前内存的使用状况,既可以选择连续的方式进行地址分配,也可以采取跳跃式的方式进行地址分配。
单向链表程序的实现:
#include <stdio.h>
#include <stdlib.
全部评论 (0)
还没有任何评论哟~
