数据结构试验报告线性表学院:姓名:学号:时间:专业班级:线性表一、实验目的1.掌握线性结构中顺序表和链表的基本概念、基本操作和应用;2.掌握线性表的基本操作:建表、插入、删除、输出等运算在顺序存储结构和链式存储结构上的实现。3. 通过本次实习加深对高级语言C语言的使用 (特别是函数参数、 指针类型、 链表的使用) 。熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现。二、实验内容1.编写生成线性表的函数,线性表的元素从键盘输入,分别使用顺序和链式存储结构存储;2.编写在线性表中插入一个元素的函数;3.编写在线性表中删除一个元素的函数;4.编写输出线性表的函数;5.编写主函数,调用以上各函数,以便能观察出原线性表以及作了插入或删除后线性表的屏幕输出。三、实验报告要求1.画出程序流程图并做简单分析2.源代码(包括主要结构、主要语句、函数注释说明)3.运行结果(包括程序如何使用,输入数据和输出结果)4.实验体会和问题分析四、基本原理(一)线性表是最常用的而且也是最简单的一种数据结构,线性表是N个数据元素的有限序列。例如 26 个英文元素的字母表(A,B, C,D,· · · ),其数据结构的描述为:Linear_list=(D,R) 其中,D={ ai | ai 属于 ElemSet ,i=1 ,2,3,· · · } ,R={
| i=2 ,3,4,⋯⋯ } 。本实验是以数组的形式把线性表存放在计算机内存的一个连续的区域内,这样便有:LOC(ai +1)=LOC(ai )+m LOC(ai )=L0+m*(i-1) 其中, m是存放每个元素所占的内存字数,L0 是 a 的地址,即首地址。(二)程序说明插入一个新元素到第i 个位置,既把元素 ai 向后移一个位置,成为元素ai+1 ,把新元素放入到第i 个位置,其他元素依次后移。插入后的表长是n+1(n 是原表长)。修改第 i 个元素,到第i 个位置是把元素ai 冲掉后存上新值。删除第 i 个元素就是把余后的元素依次向前移一个位置。即:以元素ai+1 ,ai+2 ,· · · ,依次取代 ai ,ai+1 ,· · · 。删除后的表长是n-1 (n 是原表长)。(三)线性表链式存储(选作)。五、实验程序#include #include #define MAXSIZE 20 // 数组最大界限typedef int ElemType; //数据元素类型typedef struct { ElemType a[MAXSIZE]; //一维数组子域int length; //表长度域}SqList; // 顺序存储的结构体类型SqList...