定义一个链表类List3 C++

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:37:57
定义一个链表类List3,其结构中私有数据成员如下表:
List3对象(链表头
|———————| |———|
|Type data; | | |
|Type data; | |—>|DATA |
| //链表节点值 | | | |
|———————| | |———|
|List3 *next; | | | |
|//指向下一个节|——| |NEXT |
|点的指针 | | |
|———————| |———|

|————| |———| |———|
| | | | | |
|DATA | |—>|DATA | |—> |—>DATA |
| | | | | | | | |
|————| | |———| | | |———|
| | | | | |..... | | |
|NEXT |——| |NEXT |—| —| | |
| | | | | next |
|————| |———| |——

我以前写的链表,你可以参考参考

template <typename elem>
class link{
public:
elem element;
link* next;
link(elem& item,link* ne=NULL){
element=item;
next=ne;
}
link(link* ne=NULL){
next=ne;
}
};

template <typename elem>
class llist
{
private:
link<elem>* head;
link<elem>* tail;
int length;
public:
llist()
{tail=head=new link<elem>;
length=0;
}
~llist()
{
link<elem>* temp;
while(head!=NULL)
{
temp=head;
head=head->next;
delete temp;
}
}
void clear()
{
link<elem>* temp;
while(head!=NULL)
{
temp=head;
head=head->next;
delete temp;
}
tail=head=new link<elem>;
length=0;
}
bool insert(elem& item)
{