知识大全 数据结构之单链表基本运算的实现[14]
Posted 指针
篇首语:恢弘志士之气,不宜妄自菲薄。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构之单链表基本运算的实现[14]相关的知识,希望对你有一定的参考价值。
图 双向链表中的结点删除
双向链表的结束条件和单链表相同 双向循环链表的结束条件和单向循环链表的结束条件相同
静态链表
根据上节单链表的知识 用单链表表示线性表时 其结点空间是在运行时根据需要动态分配的 利用指针实现线性表的线性关系 但在有些语言中不提供指针类型 这时我们就无法创建单链表 但我们可借助数组来模拟单链表 用数组下标相对地表示地址称为静态指针或索引 这种链表称之为静态链表 首先定义一个结构体记录类型
typedef struct
DataType data; /*元素*/
int next;/*相对指针*/
SNode; /*结点类型*/
再定义一个静态链表
#define MAXSIZE /*链表可能的最大长度*/
typedef struct
SNode sp[MAXSIZE];
int SL; /*静态链表头指针*/
StList *PStList;
这种链表的结点中也有数据域data和指针域next 与前面所讲的链表中的指针不同的是 这里的指针是结点的相对地址(数组的下标) 因为上面定义的数组中没有下标为 的单元 所以空指针用 表示 如下图 所示的静态单链表表示线性表(e e e e e )
cha138/Article/program/sjjg/201311/23068相关参考