数据结构_数组与广义表_链表的递归遍历

数据结构_数组与广义表_链表的递归遍历

遍历广义表的准备工作:

#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);
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注