知识储存

知识储存,第1张

先存个图,方便看懂。。

为了方便查找数据,可以把大于节点值的数存放在右节点处,小于该节点的存放在他的左节点。存个代码方便直接用。

#include
using namespace std;
#define maxn 10000000
int Binary[maxn];
bool Isempty[maxn];
void inorder(int Binary[],int num){
    if(Isempty[num]){
        inorder(Binary,num*2+1);
        printf("%d ",Binary[num]);
        inorder(Binary,num*2+2);
    }
    return;
}
int main()
{
    int n = 0,num = 0;
    cin >> n;
    memset(Isempty,0,sizeof(Isempty));
    for(int i = 0;i> num;
        int j = 0;
        while(Isempty[j]){
            if(Binary[j]num){
                j = 2 * j + 1;
            }//二叉树不能有重复数据
        }
        Binary[j] = num;
        Isempty[j]=true;
    }
    num = 0;
    inorder(Binary,num);//中序遍历输出一下康康
    return 0;
}

但是用数组如果连续输入1-30就会卡住,所以这个暂时少用,直接用结构体那个二叉树。(可能遍历的时候递归太多?)

#include
using namespace std;
struct TreeNode
{
    int val;
    struct TreeNode* left;
    struct TreeNode* right;
};

//为了方便,按照左边小,右边大插入
TreeNode* putintotree(struct TreeNode* node,int num)
{
    struct TreeNode* newnode = (TreeNode*) malloc(sizeof(TreeNode));
    newnode->val = num;
    newnode->left  = NULL;
    newnode->right = NULL;
    if(!node){
        node = newnode;
        return node;
    }else{
        TreeNode* now = node;
        TreeNode* emm = now;
        while(now){
            if(now->val>num){
                emm = now;
                now = now->left;
            }else if(now->valright;
            }else return node;
        }
        if(emm->val>num){
            emm->left=newnode;
            return node;
        }else if(emm->valright=newnode;
            return node;
        }
    }
    return node;
}

void inorder(TreeNode* node){
    if(node){
        inorder(node->left);
        printf("%d ",node->val);
        inorder(node->right);
    }
}

int main(){
    int n = 0,num = 0;
    scanf("%d",&n);
    struct TreeNode* Node = (TreeNode*)malloc(sizeof(TreeNode));
    Node = NULL;
    for(int i = 0;i

这个能正常使用

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/868160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)