实验一 线性表实验目的掌握用Turbo C 2.0上机调试线性表的基本方法。
掌握线性表基本操作,插入、删除、查找,以及线性表合并等运算在顺序存储结构和连接存储结构上的运算。
实验内容线性表基本操作的实现
[问题描述] 当我们要在线性表的顺序存储结构上的第i个位置上插入一个元素时,必须先将线性表中第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,再把新元素插入到该位置。若欲删除第i个元素时,也必须把第i元素之后的所以元素前移一个位置。
[基本要求] 要求生成线性表时,可以键盘上读取元素,用顺序存储结构和连式存储结构实现存储。
[实现提示] 要实现基本操作可用已实现的基本操作,也可设计简单的算法实现
[算法实现]
2.约瑟夫问题
[问题描述]设有n个人围坐一圈,先从某个人开始报数,数m到的人出列,接着从出列的下一个开始重新报数,数到的M人又出列,一直下去直到所有的人出列,试设计确定他们的出列次序序列的程序。
[基本要求]选择单向循环链表作为存储结构模拟过程,并依次输出出列各人的编号。
[实现提示]程序运行之后,首先要求用户初始报数的上限值,可以n<=30,此题中循环链表可不设头接点,而且必须清楚空表和非空表的界限。如:n=8,m=4时,若从第一个人开始,设没各人的编号依次1、2、3、4…开始报数,则得到的出列次序为4 8 5 2 1 3 7 6。
[程序实现],
一元多项式简单计算
[问题描述] 设计一个一元多项式的简单计算器
[基本要求]一元多项式的基本功能:
输入并建立多项式输出多项式两个多项式相加减,相乘除,建立并输出多项式
[实现提示]可选择带头接点的单向循环链表或单项链表存储多项式,头接点可以存储多项式的参数如项数等。
[程序实现]利用单链表作为存储多项式的结构