实验报告三 线性表的链式存储 班级: 2010XXX 姓名: HoogLe 学号: 2010XXXX 专业: XXXX 2858505197@qq
com 一、 实验目的: (1) 掌握单链表的基本操作的实现方法
(2) 掌握循环单链表的基本操作实现
(3) 掌握两有序链表的归并操作算法
二、 实验内容:(请采用模板类及模板函数实现) 1、线性表链式存储结构及基本操作算法实现 [实现提示] (同时可参见教材 p64-p73页的ADT描述及算法实现及 ppt)函数、类名称等可自定义,部分变量请加上学号后 3位
也可自行对类中所定义的操作进行扩展
所加载的库函数或常量定义: #include using namespace std; (1)单链表存储结构类的定义: template class LinkList{ public: LinkList(); //初始化带头结点空单链表构造函数实现 LinkList(T a[],int n);//利用数组初始化带头结点的单链表构造函数实现 ~LinkList(); int length(); //求单链表表长算法 T get(int i); //获得单链表中第 i个结点的值算法 int locate(T temp); void insert(int i,T temp); //在带头结点单链表的第 i个位置前插入元素 e算法 T Delete(int i); //在带头结点单链表中删除第 i个元素算法 void print(); //遍历单链表元素算法 bool isEmpty(); //判单链表表空算法 void deleleAll(); //删除链表中所有结点算法(这里不是析构函数,但功能相同) private: Node *head; }; (2)初始化带头结点空单链表构造函数实现 输入:无 前置条件:无 动作:初始化一个