1、 数据结构课程设计数据结构课程设计 -题目:题目:二叉树的相关操作二叉树的相关操作 姓姓 名名: 学学 号号: 专专 业业: 班班 级:级: 指导教师指导教师: 年年 月月 日日 目目 录录 1、课程设计目的课程设计目的.1 2、课程设计题目及要求课程设计题目及要求1 3、模块图与流程图模块图与流程图.1 4、程序清单程序清单.5 5、运行结果运行结果.11 6、实验心得实验心得.13 一、一、课程设计目的:课程设计目的: 课程设计为学生提供了一个既动手又动脑,独立实践的机 会,将课本上的理论知识和实际有机的结合起来,锻炼学生的 分析解决实际问题的能力。提高学生适应实际,实践编程的能 力。 二
2、、二、课程设计题目及要求:课程设计题目及要求: 二叉排序树的相关操作 要求:完成二叉排序树的建立、查询、插入和删除操作。 三、三、模块图与流程图:模块图与流程图: 模块图:模块图: 建立 查询 插入 删除 流程图:流程图: 四、四、程序清单:程序清单: #include 建立 Creat( ) 查询 search() 插入 insert () 删除 delete() 结束 开始 main() 显示 print() 退出 exit() #include typedef struct node int key; struct node *LChild,*RChild; BSTNode,*BSTre
3、e; void CreatBST(BSTree *bst); BSTree SearchBST(BSTree bst,int key) ; void InsertBST(BSTree *bst,int key) ; BSTNode * DelBST(BSTree t,int k) ; void printBST(BSTree t); const int n = 10; void CreatBST(BSTree *bst) int i; int key; *bst=NULL; for(i=1;ikey=key) return bst; else if(key key) return Search
4、BST(bst-LChild, key); else return SearchBST(bst-RChild, key); void InsertBST(BSTree *bst,int key) BSTree t; if(*bst=NULL) t=(BSTree)malloc(sizeof(BSTNode); t-key=key; t-LChild=NULL; t-RChild=NULL; *bst=t; else if(key key) InsertBST( else if(key(*bst)-key) InsertBST( BSTNode * DelBST(BSTree t,int k) BSTNode *p,*f,*s,*q; p=t; f=NULL; while(p) if(p-key=k) break; f=p; if(p-keyk) p=p-LChild;