定义(摘自百度百科):双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
本节重点:
1.充分了解双链表的构建,增删改查
2.体验顺序表中元素如何进行操作
3.能灵活运用指针和引用进行编程
4.领会顺序表储存结构和掌握顺序表中各种基本运算算法设计
声明:
以下内容仅供学习,如有侵权,联系作者删除。
参考文献:数据结构上机实验指导p18
代码段展示:
#include<stdio.h>
#include<malloc.h>
typedef int ElemType;
typedef struct DNode {
ElemType data;
struct DNode* prior;//指向前驱结点
struct DNode* next;//指向后继结点
}DLinkNode;//声明双链表结点类型
//头插法建立双链表
void CreateListF(DLinkNode*&L,ElemType a[],int n){
DLinkNode* s;
L = (DLinkNode*)malloc(sizeof(DLinkNode));//为DLinkNode开辟空间
if (L) {
L->prior = L->next = NULL;//初始化链表
for (int i = 0; i < n; i++) {
s = (DLinkNode*)malloc(sizeof(DLinkNode));
if (s) {
s->data = a[i];//先赋值给s