层序次序创建二叉树,用C语言实现

层序创建二叉树是指按照二叉树的层序遍历的顺序,从上到下、从左到右依次创建二叉树的节点。

在 C 语言中,可以使用队列来实现层序创建二叉树。首先,创建一个队列,将二叉树的根节点入队。然后,每次从队列中取出一个节点,将它的左右子节点依次入队。重复这个过程,直到队列为空。

以下是 C 语言代码示例,它创建一个由数组中的数据构成的二叉树:

``` #include <stdio.h> #include <stdlib.h>

// 定义二叉树的结构体 typedef struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; } TreeNode;

// 创建一个新的二叉树节点 TreeNode* createNode(int val) { TreeNode* node = (TreeNode*) malloc(sizeof(TreeNode)); node->val = val; node->left = NULL; node->right = NULL; return node; }

// 层序创建二叉树 TreeNode* createBinaryTree(int* data, int size) { if (size <= 0) return NULL;

// 创建根节点 TreeNode* root = createNode(data[0]);

// 创建队列,并将根节点入队 TreeNode** queue = (TreeNode**) malloc(sizeof(TreeNode*) * size); queue[0] = root; int head = 0; int tail = 1;

// 循环创建二叉树的节点 for (int i = 1; i < size; i++) { // 取出队列的头节点 TreeNode* node = queue[head]; head++;

// 创建左
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值