美文网首页
树与二叉树

树与二叉树

作者: 1nvad3r | 来源:发表于2020-08-13 10:53 被阅读0次
#include <cstdio>

//二叉树存储结构
struct Node {
    int data;
    Node *lchild;
    Node *rchild;
};

//新建结点
Node *newNode(int v) {
    Node *node = new Node;
    node->data = v;
    node->lchild = node->rchild = NULL;
    return node;
}

//查找所有值为x的结点,把值修改为newdata
void search(Node *root, int x, int newdata) {
    if (root == NULL) {
        return;
    }
    if (root->data == x) {
        root->data = newdata;
    }
    search(root->lchild, x, newdata);
    search(root->rchild, x, newdata);
}

//插入一个新结点,往左子树插
//注意root要使用引用,否则插入不成功
void insert(Node *&root, int x) {
    if (root == NULL) {
        root = newNode(x);
        return;
    }
    insert(root->lchild, x);
}

//二叉树的创建
Node *create(int data[], int n) {
    Node *root = NULL;
    for (int i = 0; i < n; i++) {
        insert(root, data[i]);
    }
    return root;
}
一般来说,如果函数中需要新建结点,即对二叉树的结构做出修改,就需要加引用;如果只是修改当前已有结点的内容,或仅仅是遍历树,就不用加引用。

相关文章

  • 树与二叉树

    **树 ** 二叉树 满二叉树 完全二叉树 三种遍历方法 树与二叉树的区别 二叉查找树 平衡二叉树 红黑二叉树

  • 树与二叉树

    树与二叉树

  • 四、树与二叉树

    四、树与二叉树 1. 二叉树的顺序存储结构 二叉树的顺序存储就是用数组存储二叉树。二叉树的每个结点在顺序存储中都有...

  • 数据结构-树

    树,二叉树的定义: 二叉树是N个节点的有效集,二叉树与无序数不同,二叉树每个节点只有两个子树。 二叉树的性质: 二...

  • 数据结构之二叉树与B树

    二叉树与B树 1.1二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树 二叉树需要加载到内存的,如果二叉树的...

  • 数据结构3:二叉树详细介绍

    9.二叉树 9.1 二叉树的定义 9.2 满二叉树与完全二叉树 9.3 二叉查找树(也叫二叉搜索树,二...

  • 二叉树的镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述 二叉树的镜像定义:源二叉树与镜像二叉树 代码 总...

  • 普通树与二叉树的相互转化及哈夫曼树的了解

    普通树与二叉树的相互转化及哈夫曼树的了解 二叉树与普通树的转化 二叉树的种种特性使得它更便于处理,如果能将普通树转...

  • 数据结构之逻辑结构_树

    满二叉树与完全二叉树 满二叉树:深度为k且含有(2的k方)-1个结点的二叉树。 完成二叉树:在第k层深度被填满之前...

  • 数据结构课程 第七周 树和二叉树

    定义 基本术语 与线性结构比较 二叉树 二叉树抽象数据类型定义 二叉树性质和存储结构 特殊形式二叉树(顺序存储时可...

网友评论

      本文标题:树与二叉树

      本文链接:https://www.haomeiwen.com/subject/ydkbdktx.html