- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
顺序表实验报告
实验一 顺序表的基本操作及其应用
需求分析
1.本演示程序实现顺序表的初始化,依次从键盘读入数据,建立顺序表、表中元素的连续追加、求顺序表的长度、检查顺序表是否为空、检查顺序表是否为满、显示顺序表、从顺序表中查找元素、给定元素值找位置、向顺序表中插入元素、从顺序表中删除元素、顺序表的逆序排列等基本操作。
3.程序执行命令包过1)顺序表的初始化;2)连续追加元素建表;3)求顺序表长度;4)检查顺序表是否为空;5)检查顺序表是否为满;6)显示顺序表;7)从顺序表中查找元素;8)给定元素值找位置;9)向顺序表中插入元素;10)从顺序表中删除元素
二、概要设计
抽象化数据类型线性表的定义如下:
ADT List{
数据对象:D={ai|ai属于ElemSet,i=1,2,....,n,n=0}
数据关系:R1={ai-1,ai|ai-1,ai属于D,i=2,.....n}
基本操作:
ListEmpty(L)
初始条件:线性表L已存在。
操作结果:若L为空表,则返回TURE,否则返回FLASE。
ListLength(L)
初始条件:线性表L已存在。
操作结果:返回L中数据元素个数。
ListInsert(L,i,e)
初始条件:线性表L已存在,1=i=ListLength(L)+1。
操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1。
ListDelete(L,i,e)
初始条件:线性表L已存在且非空,1=i=ListLength(L)。
操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减一。
ListTraverse(L,visit())
初始条件:线性表L已存在。
操作结果:依次对L的每个数据元素调用函数visit()。一旦visit()失败,则操作失败。
}ADT List
主程序
void main(){
初始化;
While(“命令”!=“退出”){
接受命令;
处理命令;
}
}
2.本程序只有两个模块,调用关系简单。
主程序模块
顺序表模块
三、详细设计
1.元素类型
#includestdafx.h
#includestdio.h
#includeconio.h
#define MAXSIZE 100 /*顺序表存储空间的总分配量*/
typedef int ElemType; /* 定义ElemType为int类型*/
/* 顺序存储类型*/
typedef struct
{ElemType data[MAXSIZE]; /*存放线性表的数组*/
int length; /* length是顺序表的长度*/
}SqList;
SqList L;
2. 初始化顺序表
void SqListInit(SqList L )
3. 追加顺序表
void ListCreate(SqList L)
4. 求顺序表长度
int ListLength(SqList L)
5.检查顺序表是否为空
void ListEmpty(SqList L)
6.检查顺序表是否为满
void ListFull(SqList L)
7. 显示遍历顺序表
void ListTraverse(SqList L)
8. 从顺序表中查找元素
void ListGet(SqList L ,int i)
9.从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/
int ListLocate(SqList L, ElemType x)
10. 向顺序表中插入元素
void ListInsert(SqList L,int i,ElemType x)
11. 从顺序表中删除元素
void ListDelete(SqList L,int i)
12.顺序表逆序排列
void nixu(SqList L)
四、 调试分析
1.此程序全面包含了顺序表的所有功能,覆盖全面,每个功能的实现都设计的非常合理清晰。
2.本次试验使我们得到了一次良好的设计训练。
五、用户手册
1.本程序的运行环境为DOS操作系统。
2.进入演示程序后,即显示文本方式的用户界面:
3.运行此程序后,确定符为“回车符”。按照提示依次进行。
六、测试结果
执行命令‘1’:SqListInit(SqList L )初始化线性表;
文档评论(0)