[写文目的]
为了更深入的了解链表,于是在这里写出单向链表的升级版双向循环链表!
[链表介绍]
1.建立链表
首先需要定义一个结构,一般双向循环链表的结构用于存放储存在该节点的值,一个prev指针指向前一个节点,一个rnext指针指向下一个节点,对用结构代码如下:
typedef struct Node* node;
struct Node{
int data;
node prev;
node next;
};
创建一个
双向循环链表的代码如下
node creatList(){
node L=(node)malloc(sizeof(Node));
L->prev=NULL;
L->next=NULL;
return L;
}
2.插入元素
示意图为
代码为:
void insertItem(node L,int n){
node tempNode=creatList();
tempNode->data=n;
L->next->prev=tempNode;
tempNode->next=L->next;
L->next=tempNode;
tempNode->prev=L;
}
3.删除元素
示意图为: