一、实验内容
1.有一个带头结点的双链表L(至少有一个数据结点),设计一个算法使其元素递增有序排列。
2. 编写一个程序clinklist.cpp,实现循环单链表的各种基本运算和整体建表算法(假设循环单链表的元素类型ElemType为char),并在此基础上设计一个主程序,完成如下功能:
(1)初始化循环单链表h;
(2)依次采用尾插法插入a,b,c,d,元素;
(3)输出循环单链表h;
(4)输出循环单链表h长度;
(5)判断循环单链表是否为空;
(6)输出循环单链表h第3个元素;
(7)输出元素a的位置;
(8)在第4个元素位置上插入f元素;
(9)输出循环单链表h;
(10)删除循环单链表h的第3个元素;
(11)输出循环单链表h;
(12)释放循环单链表。
二、实验步骤
1.
(1)dlinklist.cpp
(2)sort.cpp
2、
(1)clinklist.cpp
(2)exp4_2.cpp
三、实验结果
1、
2、
四、实验总结
1、循环单链表与单链表的区别就是将单链表的尾结点的next域由原来的空改为指向头结点,形成一个环。
2、循环单链表的实现一些判定语句则与原来的单链表有所出入,例如单链表当下一结点为空时停止循环操作,而循环单链表则是当下一个结点为头结点时停止循环操作。