#include
using namespace std;
template
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 NewNode);
void DispList();
void DelList();
};
template
ListNode *ListNode ::CurNode;
template
ListNode *ListNode ::head;
template
void ListNode::AppendNode(TYPE NewData)
{
CurNode->next=new ListNode(NewData);
CurNode=CurNode->next;
}
template
void ListNode::DispList()
{
CurNode=head->next;
while(CurNode!=NULL)
{
cout<<CurNode->data<<endl;
CurNode=CurNode->next;
}
}
template
void ListNode::DelList()
{
ListNode *q;
CurNode=head->next;
while(CurNode!=NULL)
{
q=CurNode->next;
delete CurNode;
CurNode=q;
}
head->next=NULL;
}
int main()
{
ListNode CList;
CList.AppendNode('A');
CList.AppendNode('B');
CList.AppendNode('C');
CList.DispList();
CList.DelList();
CList.DispList();
return 0;
}