一、双链表
在单链表的基础上再增加一个指向它前驱的指针,就构成了双链表。
所以双链表有三个变量:数据信息info、前驱指针llink、后继指针rlink。
二、双链表操作和实现
由于双链表也为单链表的一种变型,一些相似的操作就没一一列举,可以参考数据结构(四)——单链表 、带头结点的单链表、循环链表 及其实现
1、数据结构
2、在i位置插入结点
3、在y元素后插入结点
4、删除值为x的结点
1、数据结构
typedef int datatype; typedef struct dlink_node{ datatype info; dlink_node* llink; dlink_node* rlink; }dnode;
2、在i位置插入结点include"linklist.h" node* insert_link_list_index(node *head,int index,datatype x){ if(index<0){ printf("index error\n"); exit(1); } if(index == 0){ //在链表首插入 no