一、实验内容
1、实现循环双链表的各种基本运算的算法
(1)初始化循环双链表h
(2)依次采用尾插法插入a,b,c,d,e元素
(3)输出循环双链表h;
(4)输出循环双链表h长度;
(5)判断循环双链表是否为空;
(6)输出循环双链表h第3个元素;
(7)输出元素a的位置;
(8)在第4个元素位置上插入f元素;
(9)输出循环双链表h;
(10)删除循环双链表h的第3个元素;
(11)输出循环双链表h;
(12)释放循环双链表。
2、设计一个算法,判断带头结点的循环双链表L中的数据是否对称。
二、实验步骤
1、
(1)cdlinklist.cpp
(2)exp5.cpp
2、symmetry.cpp
三、实验结果
1、
2、
四、实验总结
1、实现判定一个双链表是否对称的算法,原理是从两端逐个开始比较,直到中间为止,若全都相等则对称,若有一个不相等则不对称。
2、循环双链表与双链表的区别在于尾结点的next域指向头结点,头结点的prior域指向尾结点,构成两个环。
3、需要注意循环双链表的基本运算的一些判定条件,与循环单链表类似。