链表是数据结构中比较重要的一部分,我将根据自己所学习到的知识,来对链表知识进行一些梳理。
链表,根据百度百科的定义,即具有链接存储结构的线性表,它用一组地址任意的存储单元存放线性表中的数据元素,逻辑上相邻的元素在物理上不要求也相邻,不能随机存取。一般用结点描述:结点(表示数据元素) =数据域(数据元素的映象) + 指针域(指示后继元素存储位置)。链表的数据结构定义如下。
typedef struct LinkNode
{
Element Value;//数据域
struct LinkNode *NextNode;//指针域
}Linknode,*linknode;
如上所示,每个链表节点都包含一个数据域,一个指针域,对于Element,当数据域类型是整型时,改为int,若数据域类型是字符型,改为char,若是浮点型,布尔型,甚至是其他的数据结构则改为对应的声明类型,例如对于栈的数据结构,可以这样
设计:
//节点的数据结构
typedef struct Node
{
Element Value;
struct Next_Node;
}Node,*node;
//栈的数据结构
typedef struct STACK