数据结构(双链表)
Posted 伍妖捌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(双链表)相关的知识,希望对你有一定的参考价值。
双链表
双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。
代码实现双链表
定义双链表结点
typedef struct DNode {
ElemType data;
struct DNode *prior, *next;
}DNode, *DLinkList;
初始化双链表
bool InitDLinkList(DLinkList &L) {
L = (DNode *) malloc(sizeof(DNode));
if(L==NULL) {
return false;
}
L->prior = NULL;
L->next = NULL;
}
双链表判空
bool Empty(DLinkList L) {
if(L->next == NULL) {
return true;
}else{
return false;
}
}
双链表的插入
bool InsertNextDNode(DNode *p, DNode *s) {
s->next = p->next;
if(p->next !=NULL) {
p->next->prior = s;
}
s->prior = p;
p->next = s;
}
以上是关于数据结构(双链表)的主要内容,如果未能解决你的问题,请参考以下文章
(王道408考研数据结构)第二章线性表-第三节2:双链表的定义及其操作(插入和删除)