- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序—二叉排序树的建立与遍历
#include stdio.h
#include malloc.h
#define maxsize 50
typedef int elemtype;
typedef struct Node
{ elemtype data;
struct Node *lchild;
struct Node *rchild;
} nodetype;
/*建立只有根结点的二叉树*/
/*初始化*/
int initiate(nodetype **bt);/*创建二叉树*/
nodetype *create(nodetype *bt,elemtype x);
nodetype *insertl(elemtype x,nodetype *parent); /*将结点x插入到结点parent的左孩子结点*/
nodetype *insertr(elemtype x,nodetype *parent); /*将结点x插入到结点parent的右孩子结点*/
nodetype *insert(nodetype *bt);
nodetype *deleted(nodetype *bt);
void printtree(nodetype *bt,int n);
void printftree(nodetype *bt);
void preorder(nodetype *bt);
void inorder(nodetype *bt);
void postorder(nodetype *bt);
int main( )
{ int sel,n;
elemtype x;
nodetype *bt;
if((bt=(nodetype *)malloc(sizeof(nodetype)))==NULL)
return NULL;
printf(\n请输入你的选择:1--Initiate,2--Creat,3--InsertL,4--InsertR,5--Insert,);
printf(6--Delete,7--PrintTree,8--PrintFtree,9--Preorder,10--Inorder,11--Postorder,12--Quit\n);
scanf(%d,sel);
while(sel!=12)
{
if(sel==1)
{
initiate(bt);
printf(完成初始化!\n);
}
if(sel==2)
{
printf(请输入创建树根节点的数据:);
scanf(%d,x);
create(bt,x);
}
if(sel==3)
{
printf(请输入左插入节点的数据:);
scanf(%d,x);
insertl(x,bt);
}
if(sel==4)
{
printf(请输入右插入节点的数据:);
scanf(%d,x);
insertr(x,bt);
}
if(sel==5)
{
insert(bt);
}
if(sel==6)
{
deleted(bt);
}
if(sel==7)
{
printf(请输入要显示空格的个数:);
scanf(%d,n);
printtree(bt,n);
}
if(sel==8)
{
printftree(bt);
}
if(sel==9)
{
preorder(bt);
}
if(sel==10)
{
inorder(bt);
}
if(sel==11)
{
postorder(bt);
}
printf(\n请输入你的选择:1--Initiate,2--Creat,3--InsertL,4--InsertR,5--Insert,);
printf(6--Delete,7--PrintTree,8--PrintFtree,9--Preorder,10--Inorder,11--Postorder,12--Quit\n);
scanf(%d,sel);
}
return 1;
}
int initiate(nodetype **bt)
{
if((*bt=(nodetype*)malloc(sizeof(nodetype)))==NULL)
return 0;
(*bt)-lchild=NULL;
(*bt)-rchild=NULL;
return 1;
}
nodetype *create(nodetype *bt,elemtype x)
{ nodetype
您可能关注的文档
- CISCO_常用命令解释.docx
- CRT特点、性能指标、历史.ppt
- CT对原发性甲状旁腺功能亢进的诊断价值.pdf
- C中二进制流和文本流区别.docx
- c语言单项选择题标准化考试系统设计.doc
- Distinctive Image Features from Scale-Invariant Keypoints译文.pdf
- DXP2004中常用元器件名称及封装库.doc
- ENVI遥感图像处理实验二——图像常规处理2.doc
- 6.4 影像增强.ppt
- ES-2010型便携式直流单双电桥智能检定系统说明书.doc
- 安全生产考核奖惩制度3篇.doc
- 颅脑损伤病人的护理查房【优质公开课】精品PPT课件模板.pptx
- 二零二二年度德州继续教育公需科目《公共事务管理与服务能力》试题及答案.pdf
- 二零二二年度党风廉政建设知识竞赛题库(含答案).pdf
- 二零二二年度度枣庄市专业技术人员继续教育公需科目培训班互动题.pdf
- 二零二二年度儿童保健学试题库(含答案).pdf
- 二零二二年度第十九届中国东南地区数学奥林匹克竞赛高一试题(含答案).pdf
- 二零二二年度动物卫生监督题库(含答案).pdf
- 黑龙江省大庆市重点中学2023-2025学年高一下学期2月开学考试英语试题(含解析).docx
- 二零二二年度法检书记员招考《公基》测试题库(含答案).pdf
文档评论(0)