/*
*Copyright (c) 2015 , 烟台大学计算机学院
*All right resvered .
*文件名称:项目 - 二叉排序树查找的路径.cpp
*作 者: 郑兆涵
*项目 - 二叉排序树查找的路径
*/
问题:设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。
编程代码:
//设计的算法体现在函数int SearchBST(…)和void SearchResult()中。
#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(BSTNode));