双链表与静态链表

双链表

定义

双链表中结点类型的描述如下:

1
2
3
4
typedef struct DNode{					//定义双链表结点类型
ElemType data; //数据域
struct DNode *prior,*next; //前驱和后继指针
}DNode,*DLinkList;

双链表的插入操作

1
2
3
4
5
//p所指结点是s所指结点的前驱结点
s->next=p->next; //将结点*s插入到结点*p之后
p->next->prior=s;
s->prior=p;
p->next=s;

双链表的删除操作

1
2
3
4
//删除双链表中结点*p的后继结点*q
p->next=q->next;
q->next->prior=p;
free(q); //释放节点空间

静态链表

定义

静态链表结构类型的描述如下:

1
2
3
4
5
#define MaxSize 50				//静态链表的最大长度
typedef struct{ //静态链表结构类型的定义
ElemType data; //储存数据元素
int next; //下一个元素的数组下标
}SLinkList[MaxSize];

对静态链表结构类型的定义的理解与猜想验证

静态链表

123


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!