设为首页 加入收藏

TOP

二叉排序树(c++实现)
2015-11-21 01:04:39 来源: 作者: 【 】 浏览:2
Tags:排序 实现
#include 
  
   
using namespace std;
class btree
{
public:
	btree *left;
	btree *right;
	int data;
    btree(int i):left(NULL),right(NULL),data(i){}
    ~btree();

	void insert(int a);
	static void inorder(const btree*);//中序遍历
	static void rinorder(const btree*);//中序遍历,先遍历右子树

};
void btree::insert(int a)
{
	if (a
   
    insert(a); else if (a
    
     data && right) right->insert(a); else if (a>data && !right) right=new btree(a); } void btree::inorder(const btree* b) { if (b != NULL) { inorder(b->left); cout<
     
      data<<" "; inorder(b->right); } } void btree::rinorder(const btree* b) { if (b != NULL) { rinorder(b->right); cout<
      
       data<<" "; rinorder(b->left); } } btree::~btree() { if (left) delete left; if (right) delete right; } void main() { int zu[]={45,1,9,12,8,4821,4,5,1651,51}; btree *root=new btree(zu[0]); for (int i = 1; i < 10; ++i) { root->insert(zu[i]); } btree::inorder(root); cout<
        
       
      
     
    
   
  
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇BZOJ 3995 Sdoi2015 道路修建 线.. 下一篇Fresco源码解析 - Hierarachy-Vie..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: