#include<iostream.h>
template<class datatype>//定义单链表的结点
struct Node
{
datatype data;
Node<datatype>*next;
};
template<class datatype>//类LinkList的声明
class LinkList
{
public:LinkList();//建立只有头结点的空链表
LinkList(datatype a[],int n);//建立有n个元素的单链表
~LinkList();
int Locate(datatype x);
void Insert(int i,datatype x);
datatype Delete(int i);
void PrintList();
private:
Node<datatype>*first;//单链表的头指针
};
template<class datatype>
LinkList<datatype>::LinkList()
{
first=new Node<datatype>;//生成头结点
first->next=Null;//头指针的指针置空
}
template<class datatype>
LinkList<datatype>::LinkList(datatype a[],int n)
{
Node<datatype>*r,*s;
first=new Node<datatype>;//生成头结点
r=first;//尾指针初始化
for(int i=0;i<n;i++)
{
template<class datatype>//定义单链表的结点
struct Node
{
datatype data;
Node<datatype>*next;
};
template<class datatype>//类LinkList的声明
class LinkList
{
public:LinkList();//建立只有头结点的空链表
LinkList(datatype a[],int n);//建立有n个元素的单链表
~LinkList();
int Locate(datatype x);
void Insert(int i,datatype x);
datatype Delete(int i);
void PrintList();
private:
Node<datatype>*first;//单链表的头指针
};
template<class datatype>
LinkList<datatype>::LinkList()
{
first=new Node<datatype>;//生成头结点
first->next=Null;//头指针的指针置空
}
template<class datatype>
LinkList<datatype>::LinkList(datatype a[],int n)
{
Node<datatype>*r,*s;
first=new Node<datatype>;//生成头结点
r=first;//尾指针初始化
for(int i=0;i<n;i++)
{