首页 > 代码库 > 二叉排序树
二叉排序树
数据结构试验:
/*已知,二叉树存储结构定义见bstree.h,请编写一个算法函数bstree creatBstree(int a[],int n),以数组a中的数据作为输入建立一棵二叉排序树,并将建立的二叉排序树进行中序遍历。(提示,a中的原始数据可从data1.txt中读入,实验代码详见lab9_05.c)*/#include "Arrayio.h"#include "bstree.h"#define N 100bstree insertBST(bstree tree,int key){ if(tree==NULL) { tree = (bstree)malloc(sizeof(bsnode)); tree ->key = key; tree ->lchild = tree ->rchild = NULL; } else { if(key>tree->key) { tree ->rchild = insertBST(tree->rchild,key); } else { tree ->lchild = insertBST(tree->lchild,key); } } return tree;}bstree creatBstree(int a[],int n){ /*根据输入的结点序列,建立一棵二叉排序树,并返回根结点的地址*/ bstree tree = NULL; for(int i=0; i<n; i++) tree = insertBST(tree,a[i]); return tree;}int main(){ int n,a[N]; bstree p,t; n=readData(a,N,"data1.txt"); output(a,n); t=creatBstree(a,n); /*创建二叉排序树*/ printf("中序遍历:\n"); inorder(t); /*中序遍历二叉排序树*/ return 0;}
二叉排序树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。