#if !defined_LIST_H_
#define _LIST_H_
//单链表定义
template<class T> //链表节点类的定义
struct LinkNode
{
T data; //数据域
LinkNode<T>*link; //链指针域
LinkNode(LinkNode<T> *ptr =NULL) {link=ptr;}
LinkNode(const T&item,LinkNode<T> *ptr=NULL)
{
data=item;
link=ptr;
}
};
template<class T>
class List
{
public:
List(){first=new LinkNode<T>;}
List(const T &x){first= new LinkNode<T>(x);}
List(List<T> &L);
~List(){makeEmpty();}
void makeEmpty();
int Length() const;
LinkNode<T> *getHead()const{return first;}
LinkNode<T> *Search(T x);
LinkNode<T> *Locate(int i);
bool getData(int i,T &x)const;
void setData(int i,T &x);
bool Insert(int i, T &x);
bool Remove(int i, T &x);
bool IsEmpty()const
{
return first->link==NULL?true:false;
}
bool IsFull()const{return false ;}
void Sort();
void inputFrond (T endTag);
void output();
List<T>&operator=(List <T>&L);
protected:
LinkNode<T> *first;
};
下面是我对这个类的理解,有没错啊?
List&operator=(List &L);//这句看不懂是什么??
List(List &L);//这句是复制的意思吗?
类List
构造函数:
List()
List(const T &x)
List(List &L)
析构函数:
~List();
成员函数:
makeEmpty()
Length()
get()
Search(T x)
Locate(int i)
getdata()
stdata()
insert()
remove()
isempty()
isfull()
sort()
inputfrond()
output()
变量:first