内容发布更新时间 : 2024/12/28 23:03:24星期一 下面是文章的全部内容请认真阅读。
数据结构(邹永林版)实验报告2-顺序表与链表
实验二 顺序表与链表
【实验目的】
1、掌握线性表中元素的前驱、后续的概念。 2、掌握顺序表与链表的建立、插入元素、删除表中某元素的算法。
3、对线性表相应算法的时间复杂度进行分析。 4、理解顺序表、链表数据结构的特点(优缺点)。
【实验学时】
2学时
【实验预习】
回答以下问题: 1、顺序表的存储表示
在顺序表中,任一数据元素的存放位置是从起始位置开始、与该数据元素的位序成正比的对应存储位置,借助LOC(ai)=LOC(a1)+(i-1)*1 确定,则顺序表是一种随机存取的存储结构。 2、单链表的存储表示
线性链表也称单链表,在每一个结点中只包含一个指针,用于指示该结点的直接后继结点,整个链表通过指针相连,最后一个结点因为没有后继结点,其指针置为空(NULL)。这样,链表中所有数据元素(结点)构成一对一的逻辑关系,实现线性表的链式存储。
【实验内容和要求】
2
1、按照要求完成程序exp2_1.c,实现顺序表的相关操作。以下函数均具有返回值,若操作完成,返回OK,操作失败返回ERROR。函数需返回的其他数据,使用函数参数返回。exp2_1.c部分代码如下:
#include
typedef int ElemType; /*定义表元素的类型*/
typedef struct slist{ ElemType *list; int listsize; int length; }Sqlist;
Sqlist *L;
/*(1)---补充顺序表的存储分配表示,采用定长和可变长度存储均可*/
/*函数声明*/
int InitList_sq(Sqlist *L);
3