当前位置: 首页 > news >正文

二叉树的创建,增加,前序遍历

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>typedef int data_t;
typedef struct _node
{data_t data;struct _node* left;struct _node* right;
}node_t;int bst_create(node_t**, data_t);//函数声明BST创建
int bst_add(node_t**, data_t);//函数声明结点增加
void bst_preorder(node_t* root);int bst_create(node_t **root, data_t data)
{node_t* pnew = (node_t*)malloc(sizeof(node_t));if (pnew == NULL)return -1;pnew->data = data;pnew->left = pnew->right = NULL;*root = pnew;return 0;
}int bst_add(node_t** root, data_t data)
{node_t* pnew = (node_t*)malloc(sizeof(node_t));if (pnew == NULL)return -1;pnew->data = data;pnew->left = pnew->right = NULL;// 如果树为空,创建根节点if (*root == NULL){return bst_create(root, data);}node_t* p = *root, * parent = NULL;while (p){parent = p;if (data < p->data)p = p->left;elsep = p->right;}if (data < parent->data)parent->left = pnew;elseparent->right = pnew;return 0;}
//前序遍历,根左右
void bst_preorder(node_t* root)
{if (root == NULL)return;printf("%3d", root->data);bst_preorder(root ->left);bst_preorder(root->right);
}int main()
{node_t* root = NULL;srand(time(NULL));for (int i = 0; i < 10; i++){int data = rand() % 100;bst_add(&root, data);printf("%3d", data);}printf("\n");puts("=====前序遍历====");bst_preorder(root);printf("\n");puts("=================");	return 0;}

运行结果:

相关文章:

  • Bytebase 取得 SOC 2 Type 1 认证
  • 第55讲:农业人工智能的跨学科融合与社会影响——构建更加可持续、包容的农业社会
  • YOLOv5改进(十)-- 轻量化模型MobileNetv4
  • Sharding-JDBC 系列专题 - 第十篇:ShardingSphere 生态与未来趋势
  • PHYBench:首个大规模物理场景下的复杂推理能力评估基准
  • C++23文本编码革新:迈向更现代的字符处理
  • 2025年3月电子学会青少年机器人技术(五级)等级考试试卷-理论综合
  • 10.接口而非实现编程
  • CentOS 7上Memcached的安装、配置及高可用架构搭建
  • LLM学习笔记4——本地部署Docker、vLLM和Qwen2.5-32B-Instruct实现OpenManus的使用
  • Qt 中线程使用
  • shell练习题(1)
  • 腾讯云服务器安全——服务防火墙端口放行
  • 哈希表Hash table【C++】
  • CE第二次作业
  • C++学习之游戏服务器开发十七游戏房间容器化
  • KakaoPage中文版:正版授权,一站式阅读体验
  • 遨游三防|30200mAh、双露营灯三防平板,见证堆料天花板
  • 反射,枚举,lambda表达式
  • 《CBOW 词向量转化实战:让自然语言处理 “读懂” 文字背后的含义》
  • 美官员称与乌克兰会谈富有成效,但仍存重大分歧
  • 央行:25日将开展6000亿元MLF操作,期限为1年期
  • 我国成年国民综合阅读率82.1%,数字化阅读接触率首超80%
  • 海关总署:明确部分货物、物品不再按进出境特殊物品监管
  • 王毅将出席中国一中亚外长第六次会晤、金砖国家外长会晤和第十五次金砖国家安全事务高级代表会议
  • 男粉丝咬伤女主播嘴后写的条子引争议:赔偿“十万元”还是“十5元”?