数据结构(邹永林版)实验报告2-顺序表与链表 下载本文

内容发布更新时间 : 2024/10/20 5:34:46星期一 下面是文章的全部内容请认真阅读。

数据结构(邹永林版)实验报告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 #include #include #define ERROR 0 #define MAXSIZE 100 #define OK 1

typedef int ElemType; /*定义表元素的类型*/

typedef struct slist{ ElemType *list; int listsize; int length; }Sqlist;

Sqlist *L;

/*(1)---补充顺序表的存储分配表示,采用定长和可变长度存储均可*/

/*函数声明*/

int InitList_sq(Sqlist *L);

3