- 203
- 0
- 约1.77万字
- 约 20页
- 2021-01-28 发布于广西
- 举报
《数据结构》实验指导书
《数据结构》实验指导书
实验一 线性表的插入和删除
一、 实验目的
1、掌握使用 Turbo Pascal 上机调试线性表的基本方法;
2 、掌握线性表的基本操作:插入、删除、查找以及线性表合并等运算在顺
序存储结构和链接存储结构上的运算。
二、 实验要求
1、认真阅读和掌握本实验的程序。
2 、上机运行本程序。
3、保存和打印出程序的运行结果,并结合程序进行分析。
4 、按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单
和运行结果
三、 注意事项:
在磁盘上创建一个目录,专门用于存储数据结构实验的程序。
四、 实验内容
程序 1:线性表基本操作的实现
这个程序中演示了顺序表的创建、插入、删除和查找。
程序如下:
PROGRAM seqlist(input,output);
{线性表可能达到的最大长度}
CONST
maxlen = 1024;
TYPE
elemtp = integer;
{线性表的顺序存储结构}
TYPE
seqlisttp = RECORD
第 1 页
《数据结构》实验指导书
{用一维数组来描述线性表的顺序存储结构}
elem: ARRAY[1..maxlen] OF elemtp;
{定义子界类型 last ,它的取值范围是 0 到 maxlen}
last: 0..maxlen {线性表长度}
END;
{初始化线性表}
PROCEDURE initlist(VAR v:seqlisttp; ml:integer);
BEGIN
v.last:=0;
END;
{向线性表的第i 个元素之前插入一个元素 x}
PROCEDURE insertlist(VAR v:seqlisttp; i:integer; b:elemtp);
VAR j:integer;
BEGIN
IF (i1) OR (iv.last+1)
THEN writeln(error!)
ELSE IF v.last=maxlen
THEN writeln(overflow)
ELSE BEGIN
FOR j:=v.last DOWNTO i DO
v.elem[j+1]:=v.elem[j];
v.elem[i]:=b;
v.last:=v.last+1;
END;
END;
{从线性表中删除第 i 个位置的元素}
PROCEDURE deletelist(VAR v:seqlisttp; i:integer);
VAR j:integer;
BEGIN
IF (i1) OR (iv.last+1)
第 2 页
《数据结构》实验指导书
THEN writeln(error!)
ELSE IF v.last=maxlen
THEN writeln(overflow)
ELSE BEGIN
FOR j:=i+1 TO v.last DO
v.
原创力文档

文档评论(0)