遍历广义表的准备工作:
#include<iostream>
using namespace std;
class ListNode
{
public:
ListNode();
char name;
ListNode *next;
};
ListNode::ListNode()
{
next=NULL;
}
class LinkList
{
public:
LinkList();
ListNode *head;
void GetList(LinkList &);
void ListTraverse(ListNode *);
};
LinkList::LinkList()
{
head=NULL;
}
void LinkList::GetList(LinkList &l)
{
char name;
ListNode *newnode,*p;
while(cin>>name)
{
newnode=new ListNode;
newnode->name=name;
if((p=l.head)==NULL)
l.head=newnode;
else
{
while(p->next!=NULL)
p=p->next;
p->next=newnode;
}
}
cin.clear();
}
void LinkList::ListTraverse(ListNode *p)
{
if(p!=NULL)
{
cout<<p->name<<endl;
ListTraverse(p->next);
}
}
int main()
{
LinkList l;
l.GetList(l);
l.ListTraverse(l.head);
}