实验一一、实验目的
线性表的基本操作实现及其应用
1、熟练掌握线性表的基本操作在两种存储结构上的实现,其中以熟悉各种链表的操作为重点。2、巩固高级语言程序设计方法与技术,会用线性链表解决简单的实际问题。
二、实验内容
√1、单链表的表示与操作实现2、约瑟夫环问题3、DrKo
g的艺术品
三、实验要求
1、按照数据结构实验任务书,提前做好实验预习与准备工作。2、加“”题目必做,其他题目任选;多选者并且保质保量完成适当加分。3、严格按照数据结构实验报告模板和规范,及时完成实验报告。
四、实验步骤
(说明:依据实验内容分别说明实验程序中用到的数据类型的定义、主程序的流程以及每个操作(成员函数)的伪码算法、函数实现、程序编码、调试与分析、总结、附流程图与主要代码)
㈠、数据结构与核心算法的设计描述(程序中每个模块或函数应加注释,说明函数功能、入口及出口参数)
1、单链表的结点类型定义定义DataType为i
t类型typedefi
tDataType单链表的结点类型typedefstructLNodeDataTypedatastructLNode
extLNodeLi
kedList2、初始化单链表Li
kedListLi
kedListI
it每个模块或函数应加注释,说明函数功能、入口及出口参数3、清空单链表voidLi
kedListClearLi
kedListL每个模块或函数应加注释,说明函数功能、入口及出口参数4、检查单链表是否为空i
tLi
kedListEmptyLi
kedListL…5、遍历单链表
fvoidLi
kedListTraverseLi
kedListL…6、求单链表的长度i
tLi
kedListLe
gthLi
kedListL…7、从单链表表中查找元素Li
kedListLi
kedListGetLi
kedListLi
tiL是带头结点的链表的头指针,返回第i个元素8、从单链表表中查找与给定元素值相同的元素在链表中的位置Li
kedListLi
kedListLocateLi
kedListLDataType……9、向单链表中插入元素voidLi
kedListI
sertLi
kedListLi
tiDataTypexL为带头结点的单链表的头指针,本算法在链表中第i个结点之前插入新的元素x10、从单链表中删除元素voidLi
kedListDelLi
kedListLDataTypex删除以L为头指针的单链表中第i个结点11、用尾插法建立单链表Li
kedListLi
kedListCreat……
x
㈡、函数调用及主函数设计(可用函数的调用关系图说明)㈢程序调试及运行结果分析㈣实验总结五、主要算法流程图及程序清单1、主要算法流程图:
2、程序清单(程序过长,可附主要部分)
说明:以后每次实验报告均按此格式书写。我在布置实验室时,仅给出实验名称、实验目的、实验内容及相关数据结构。
f题目一程序参考框架r