目录
链表的种类
(1)单向,双向
(2)带头,不带头(带有哨兵头的链表,不存放任何数据)
(3)循环,不循环(头尾相连)
了解完链表的基本的类别后我们来看看今天的主角——“双向”“带头”“循环”链表
“双向”
所谓双向,就是一个结点中存储除数据外还存储两个指针,一个指针指向下一个结点,一个指针指向上一个结点
typedef struct Dlist//一个结点
{
struct Dlist* prev;//指向上一个结点
struct Dlist* next;//指向下一个结点
int data;//数据
}Dlist;
“带头”
带头就是一个链表中的头是一个哨兵头,里面不存储任何数据
“循环”
所谓循环,就是将链表的头尾相连
Dlist* newnode =(Dlist* ) malloc(sizeof(Dlist));
newnode->next = newnode;
newnode->pre