标签:三叉链表
///三叉链表
//#pragma once
//#include<iostream>
//#include<stack>
//using namespace std;
//template<class T>
//struct BinaryTreeNode_P
//{
// T _data;
// BinaryTreeNode_P<T>* _left;
// BinaryTreeNode_P<T>* _right;
// BinaryTreeNode_P<T>* _parent;
// BinaryTreeNode_P(const T& x)
// :_data(x)
// , _left(NULL)
// , _right(NULL)
// , _parent(NULL)
// {}
//};
//
//template<class T>
//class BinaryTree_P
//{
//protected:
// BinaryTreeNode_P<T>* _CreateTree(T a[], size_t& index, const size_t size)
// {
// BinaryTreeNode_P<T>* root = NULL;
// if (index < size&&a[index] != ‘#‘)
// {
// root = new BinaryTreeNode_P<T>(a[index]);
// root->_left = _CreateTree(a, ++index, size);
// if (root->_left)
// root->_left->_parent = root;
// root->_right = _CreateTree(a, ++index, size);
// if (root->_right)
// root->_right->_parent = root;
// }
// return root;
// }
//public:
// BinaryTree_P()
// :_root(NULL)
// {}
// BinaryTree_P(T* a, size_t size)
// {
// size_t index = 0;
// _root = _CreateTree(a, index, size);
// }
// void PreOrder_Non_R()
// {
// stack<BinaryTreeNode_P<T>*> s;
// if (_root)
// s.push(_root);
// while (!s.empty())
// {
// BinaryTreeNode_P<T>* top = s.top();
// cout << top->_data << " ";
// s.pop();
// if (top->_right)
// s.push(top->_right);
// if (top->_left)
// s.push(top->_left);
// }
// cout << endl;
// }
//protected:
// BinaryTreeNode_P<T>* _root;
//};本文出自 “小止” 博客,请务必保留此出处http://10541556.blog.51cto.com/10531556/1750535
标签:三叉链表
原文地址:http://10541556.blog.51cto.com/10531556/1750535