双向链表有一个前驱指针,有一个后驱指针。
基本套路:
typedef struct Node
{
inr data;
struct Node *pre;//前驱指针
struct Node *next;//后继指针
}Node;
双向链表的操作和单链表相同,对于一个链表中某一个结点p,它的前驱是是s,后继是e,代码如下:
#include<stdio.h>
typedef struct Node
{
inr data;
struct Node *pre;//前驱指针
struct Node *next;//后继指针
}p,s,e;
int main()
{
p->data=1;
s->data=2;
e->data=3;
p->pre=s;//把s赋值给p的前驱
p->next=e;//把e赋值给p的后继
return 0;
}