全球旧事资料 分类
链表实验题
一、实验内容
1编程实现链表的基本操作函数。
1voidCreatListLi
kListLai
tm依次输入m个数据,并依次建立各个元素结点,逐个插入到链表尾;建立带表头结点的单链表La;2voidListPri
tLi
kListLa将单链表La的数据元素从表头到表尾依次显示。3voidListI
sertLi
kListLi
tiElemTypee在带头结点的单链表L中第i个数据元素之前插入数据元素e4voidListDeleteLi
kListLai
t
ElemTypee删除链表的第
个元素,并用e返回其值。5i
tSearchLi
kListLElemTypex在表中查找是否存在某个元素x,如存在则返回x在表中的位置,否则返回0。6i
tListLe
gthLi
kListL求链表L的表长7voidGetElemLi
kListLi
tiElemTypee用e返回L中第i个元素的值链表的结点类型定义及指向结点的指针类型定义可以参照下列代码typedefstructNodeElemTypedata数据域structNode
ext指针域LNodeLi
kList2设有链表A和B,其中的数据内容均为整型数值,且都按增序排列,生成新的链表C、D,满足下列要求:1CABC中元素为A和B的并集2DABD中元素为在A中出现但不在B中出现的元素且C、D元素都按增序排列。编程要求:输入:键盘输入链表A的数据元素至少5个键盘输入链表B的数据元素至少5个输出:屏幕分别打印链表A,B,C,D的数据元素。3设有链表A和B,其中的数据内容均为整型数值,且都按增序排列,生成新的链表C、D,满足下列要求:1CABC中元素为A和B中都出现的元素
f2D中元素为A中元素的逆序排列编程要求:输入:键盘输入链表A的数据元素至少5个键盘输入链表B的数据元素至少5个输出:屏幕分别打印链表A,B,C、D的数据元素。
4约瑟夫Joseph问题问题描述
约瑟夫Joseph问题的一种描述是:编号为1,2,…

个人按顺时针方向围坐一圈,每人持有一个密码(正整数),一开始任选一个整数作为报数上限m从第一人开始按顺时针方向从自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。
基本要求
采用单向循环链表模拟此过程按照出列的顺序印出各人的编号
测试数据
m的初值为6;
77个人的密码依次为:3,1,7,2,4,8,4,正确的出列顺序应为6147235。
实验提示
单向循环链表的结点类型定义参照如下:typedefstructLNodei
tcode定义整型变量code用来存放序号i
tkeyr
好听全球资料 返回顶部