C++单向链表类模板改进设计插入、删除结点成员函数

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:10:40
#include<iostream>
using namespace std;
template<class TYPE>
class ListNode{
private:
TYPE data;
ListNode * next;
static ListNode * CurNode;
static ListNode * head;
public:
ListNode():next(NULL)
{
head=CurNode=this;
}
ListNode(TYPE NewData):data(NewData),next(NULL)
{
}
void AppendNode(TYPE Node);
void DispList();
void DelList();
};
template<class TYPE>
ListNode<TYPE>*ListNode<TYPE>::CurNode;
template<class TYPE>
ListNode<TYPE>*ListNode<TYPE>::head;
template<class TYPE>
void ListNode<TYPE>::AppendNode(TYPE NewData)
{
CurNode->next=new ListNode(NewData);
CurNode=CurNode->next;
}
template<class TYPE>
void ListNode<TYPE>::DelList()
{
CurNode=head->next;
while(CurNode!=NULL)
{
cout<<Cur

#include<iostream>
using namespace std;
template<class TYPE>
class ListNode{
private:
TYPE data;
ListNode * next;
static ListNode * CurNode;
static ListNode * head;
public:
ListNode():next(NULL)
{
head=CurNode=this;
}
ListNode(TYPE NewData):data(NewData),next(NULL)
{
}
void AppendNode(TYPE Node); //添加结点
void DeleteNode(TYPE Node); //移除结点
void DispList(); //打印链表
void DelList(); //移除链表所有结点
};
template<class TYPE>
ListNode<TYPE>*ListNode<TYPE>::CurNode;
template<class TYPE>
ListNode<TYPE>*ListNode<TYPE>::head; //链表头指针
template<class TYPE>
void ListNode<TYPE>::AppendNode(TYPE NewData)
{
CurNode->next=new ListNode(NewData);
CurNode=CurNode->next;
}
template<class TYPE>
void ListNode<TYPE&