采用llink-rlink方式存储二叉排序树

来源:百度知道 编辑:UC知道 时间:2024/06/21 09:39:46
采用llink-rlink方式存储二叉排序树,编写能够通过键盘输入建立二叉排序树,并在建立完立即在屏幕显示中序遍历结果的程序。
我用的WIN-TC,如果运行没错误,显示正确给分。

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

int counter; /*计数器*/
struct tree /*声明树的结构*/
{struct tree *left;
int data;
struct tree *right;
};
typedef struct tree treenode; /*声明新类型树的结构*/
typedef treenode *b_tree; /*声明二叉树的链表*/
b_tree insert_node(b_tree root,int node) /*插入二叉树的结点*/
{b_tree newnode;
b_tree currentnode;
b_tree parentnode;
newnode=(b_tree)malloc(sizeof(treenode)); /*分配新结点空间*/
newnode->data=node;
newnode->right=NULL;
newnode->left=NULL;
if(root==NULL)return newnode;
else{currentnode=root;
while(currentnode!=NULL)
{parentnode=currentnode;
if(currentnode->data>node)
currentnode=currentnode->left;
else currentnode=currentnode->right;
}
if(parentnode->data>node)
parentnode->left=newnode;
el