首页 > 其他 > 详细

三叉链表的建立

时间:2016-03-13 18:13:03      阅读:332      评论:0      收藏:0      [点我收藏+]
///三叉链表
//#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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!