삼차 체인 시계의 구축

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

좋은 웹페이지 즐겨찾기