一.双向链表插入、删除、与创建的原理:
其实双向链表和单链表的区别主要是在节点的结构上,因为节点结构不同,进而导致相关操作较单链表也就有了一些差异;双向链表,顾名思义,从头可以到尾,由尾也可以到头;双向链表的节点如下图所示:
二.双向链表的创建:
2.1. 创建原理:
原理就不多赘述,和单链表的创建基本相同,只不过多了一个指针指向前节点;
2.2. 程序部分:
stu *creat_double_list(int n)
{
stu * head = (stu *)malloc(sizeof(stu));
if(head == NULL)
{
cout<<"空间申请失败!!!"<<endl;
return;
}
head->next = NULL;
head->pre = NULL;
stu *tail = head;
for(int i = 0;i<n;i++)
{
stu *node = (stu *)malloc(sizeof(stu));
if(node