在一棵空的二叉排序树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,试编写程序创建这棵二叉排序树
循环创建每一个节点,并初始化左右孩子为空,利用递归如果下个元素小于当前元素就创建左孩子,否则就创建右孩子输入关键字
结束后就成功创建了一个二叉排序树,左孩子<父<右孩子
#include <iostream>
using namespace std;
#include "BSTree.h"
int main()
{
BSTree T;
CreatBST(T);
PrintBSTree(T);
return 0;
}
#ifndef BSTREE_H_INCLUDED
#define BSTREE_H_INCLUDED
typedef struct {
int key;
char otherinfo;
}ElemType;
typedef struct BSTNode{
ElemType data;
struct BSTNode *lchild,*rchild;
}BSTNode,*BSTree;
void InsertBST(BSTree &T,ElemType e)