纯粹练手,毫无价值
#include <stdio.h>
#include <malloc.h>
typedef struct Node_s{
int value;
struct Node_s *left;
struct Node_s *right;
}Node_t;
void InsertTree(Node_t **tree,int value)
{
if(*tree != NULL){
Node_t *pnode = *tree;
if(pnode->value >value){
InsertTree(&(pnode->left),value);
}else if(pnode->value < value){
InsertTree(&(pnode->right),value);
}else{
return;
}
}else{
Node_t *Node;
Node = (Node_t *)malloc(sizeof(Node_t));
Node->value = value;
Node->left = NULL;
Node->right = NULL;
*tree = Node;
}
}
void printNode(Node_t *tree)
{
if(tree){
printf("%d\n",tree->value); //front
printNode(tree->left);
//printf("%d\n",tree->value); //middle
printNode(tree->right);
//printf("%d\n",tree->value); //rear
}
}
int main(int argc,char **argv)
{
Node_t *tree;
InsertTree(&tree,2);
InsertTree(&tree,1);
InsertTree(&tree,3);
InsertTree(&tree,5);
InsertTree(&tree,4);
InsertTree(&tree,6);
printNode(tree);
return 0;
}