树的遍历。
结果是:abdghicef
#include <iostream>
using namespace std;
template <typename T> struct ListNode {
T data;
ListNode* next;
ListNode(T d) : data(d), next(NULL) {}
};
template <typename T> struct TreeNode {
T data;
//这段代码的目的是创建一个链表,其中每个链表节点都存储着指向树节点的指针。
//换句话说,链表的每个节点不直接存储树节点的数据,而是存储指向树节点的指针。
ListNode<TreeNode<T>*>* childerHead;
void AddChild(TreeNode<T>* node) {
ListNode<TreeNode<T>*>* childerNode = new ListNode<TreeNode<T>*>(node);
if (childerHead == NULL) {
childerHead = childerNode;
} else {
childerNode->next = childerHead;
childerHead = childerNode;
}
}
};
template <typename T> class Tree {
private:
TreeNode<T>* nodes;
TreeNode<T>* root;
public