标签:三叉链表
///三叉链表 //#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