码迷,mamicode.com
首页 > 其他好文 > 详细

二叉查找树相关

时间:2015-03-30 13:28:50      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:二叉查找树

//
//  main.cpp
//  二叉查找树
//
//  Created by Fangpin on 15/3/30.
//  Copyright (c) 2015年 FangPin. All rights reserved.
//

#include <iostream>
struct Tree{//树结构
    int key;
    Tree *left,*right,*p;
};
// 返回指向树中最大值所在节点
Tree* Tree_max(Tree* rt){
    while(rt->right!=nullptr)
        rt=rt->right;
    return rt;
}
//返回树中最小值所在节点
Tree* Tree_min(Tree* rt){
    while(rt->left!=nullptr)
        rt=rt->left;
    return rt;
}
//返回节点的直接前驱节点
Tree* next(Tree *rt){
    if(rt->right!=nullptr)
        return Tree_min(rt->right);
    Tree *x=rt,*y=x->p;
    while(y!=nullptr && x==y->right){
        x=y;
        y=y->p;
    }
    return y;
}
//返回节点的直接后继节点
Tree* pre(Tree *rt){
    if(rt->left!=nullptr)
        return Tree_max(rt->left);
    Tree *x=rt,*y=x->p;
    while(y!=nullptr && y==x->left){
        x=y;
        y=y->p;
    }
    return y;
}





二叉查找树相关

标签:二叉查找树

原文地址:http://blog.csdn.net/fangpinlei/article/details/44747933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!