问题及描述:
/*
*Copyright(c++)2015,烟台大学计算机与控制工程学院
*All rights reserved,
*文件名称:main.cpp
*作 者:程梦莹
*完成日期:2015年11月30日
*版本号:v1.0
*问题描述:设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。
*输出描述:
*/
#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
typedef int KeyType; //定义关键字类型
typedef char InfoType;
typedef struct node //记录类型
{
KeyType key; //关键字项
InfoType data; //其他数据域
struct node *lchild,*rchild; //左右孩子指针
} BSTNode;
int path[MaxSize]; //全局变量,用于存放路径
void DispBST(BSTNode *b); //函数说明
int InsertBST(BSTNode *&p,KeyType k) //在以*p为根节点的BST中插入一个关键字为k的节点
{
if (p==NULL) //原树为空, 新插入的记录为根节点
{
p=(BSTNode *)malloc(sizeof(B