本例,以班级学生成绩为例,实现顺序表的链式存储结构的操作功能实现。
#include<iostream> //引用输入输出流库函数的头文件
/*************************************/
/***** 声明模板类 *****/
/***** 可以单独放在一个头文件中 *****/
/*************************************/
template <class DataType>
struct Node
{
DataType data;
Node<DataType> *next;
};
template <class DataType>
class LinkList
{
public:
LinkList( ); //构造函数,含头结点的空链表
LinkList(DataType a[ ], int n); //构造函数,建立有n个元素的单链表
~LinkList( ); //析构函数
int Locate(DataType x); //按值查找。在单链表中查找值为x的元素序号
void Insert(int i, DataType x); //插入操作,第i个位置插入元素值为x的结点
DataType Delete(int i); //删除操作,在单链表中删除第i个结点
void PrintList( ); //遍历操作,按序号依次输出各元素
private:
Node<DataType> *first; //单链表的头指针
};
/********************************/
/***** 定义模板类操作函数 *****/
/***** 可以单独放在源文件中 *