#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语言实现二叉排序树的增删查操作
最新推荐文章于 2024-02-29 20:32:41 发布