数据结构试验指导书(2023级试验报告参考)_第1页
数据结构试验指导书(2023级试验报告参考)_第2页
数据结构试验指导书(2023级试验报告参考)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——数据结构试验指导书(2023级试验报告参考)

数据结构实验指导书

授课学期:2023-2023,2授课教师:肖飞授课班级:信管2023级教研室:计算机工程

试验一线性表及其应用

项目编号:426140041101一、试验目的

1.熟悉C语言的上机环境,进一步把握C语言的结构特点。2.把握线性表的顺序存储结构的定义及C语言实现。

3.把握线性表的链式存储结构——单链表的定义及C语言实现。4.把握线性表在顺序存储结构即顺序表中的各种基本操作。5.把握线性表在链式存储结构——单链表中的各种基本操作。二、试验内容

1.顺序线性表的建立、插入及删除。2.链式线性表的建立、插入及删除。三、试验步骤

1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。

2.利用前面的试验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。

3.建立一个带头结点的单链表,结点的值域为整型数据。要求将用户输入的数据按尾插入法来建立相应单链表。

实现提醒:

1.由于C语言的数组类型也有随机存取的特点,一维数组的机内表示就是顺序结构。因此,可用C语言的一维数组实现线性表的顺序存储。

在此,我们利用C语言的结构体类型定义顺序表:#defineMAXSIZE1024

typedefintelemtype;/*线性表中存放整型元素*/typedefstruct

{elemtypevec[MAXSIZE];

intlen;/*顺序表的长度*/}sequenlist;

将此结构定义放在一个头文件sqlist.h里,可避免在后面的参考程序中代码重复书写,另外在该头文件里给出顺序表的建立及常量的定义。

2.注意如何取到第i个元素,在插入过程中注意溢出状况以及数组的下标与位序(顺序表中元素的次序)的区别。

3.单链表的结点结构除数据域外,还含有一个指针域。用C语言描述结点结构如下:typedefintelemtype;

typedefstructnode{elemtypedata;//数据域structnode*next;//指针域}linklist;

注意结点的建立方法及构造新结点时指针的变化。构造一个结点需用到C语言的标准函数malloc(),如给指针变量p分派一个结点的地址:

p=(linklist*)malloc(sizeof(linklist));该语句的功能是申请分派一个类型为linklist的结点的地址空间,并将首地址存入指针变量p中。当结点不需要时可以用标准函数free(p)释放结点存储空间,这时p为空值(NULL)。

完整参考程序

1.顺序线性表的建立、插入及删除。

#includev.last+1))

{printf(\插入位置不合理!\\n\//位置不合理returnFalse;}

elseif(v.last>=MAX)//线性表已满{printf(\线性表已满!\\n\returnFalse;}

else{for(i=v.last-1;i>=loc-1;i--)v.elem[i+1]=v.elem[i];//其后元素依次后移v.elem[loc-1]=ch;//插入元素

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论