#include <stdio.h>
#include <stdlib.h>
typedef struct TreeNode{
struct TreeNode* lchild;
struct TreeNode* rchild;
int val;
}TreeNode;
//构造树节点
TreeNode* createTreeNode(int val){
TreeNode *node;
node = (TreeNode*)malloc(sizeof(TreeNode));
node->val = val;
node->lchild = NULL;
node->rchild = NULL;
return node;
}
//创建树
TreeNode* createTree(int *array,int length){
TreeNode *root = createTreeNode(array[0]);
TreeNode *temp = root;
TreeNode *parent = root;
int i = 1;
while(i<length){
temp = root;
while(temp){
parent = temp;
if(temp->val>array[i]){
temp = temp->lchild;
}
else if(temp->val<array[i]){
temp = temp->rchild;
}
else{
break;
}
}
if(parent->val>array[i])
parent->lchild=createTre
C语言实现二叉排序树的增删查操作
最新推荐文章于 2022-07-10 16:19:22 发布
这篇博客介绍了如何使用C语言实现二叉排序树的基本操作,包括创建、插入节点、删除节点和查找节点。通过示例代码展示了如何构建、输出、删除和搜索树中的元素,并提供了完整的main函数来演示这些操作。
摘要由CSDN通过智能技术生成