#include"binaryTree.h"
Status visit(ElemType e){
#ifdef CHAR
printf("%c ",e);
#endif
#ifdef INT
printf("%d ",e);
#endif
return OK;
}
void main(){
Tree T,p;
ElemType e,eother;
initTree(&T);
printf("Is the Tree empty? %d(1-Yes;0-No).\n",treeEmpty(T));
printf("It's depth is %d\n",treeDepth(T));
e=root(T);
if(e!=null)
#ifdef CHAR
printf("It's root is: %c\n",e);
#endif
#ifdef INT
printf("It's root is: %d\n",e);
#endif
else printf("It is empty and has no root!\n");
/*创建*/
#ifdef CHAR
printf("CHAR---Input preOrder like: ab c \n");
#endif
#ifdef INT
printf("INT----Input preOrder like: 1 2 0 0 3 0 0\n");
#endif
createTree(&T);
printf("Is it empty? %d(1-Yes,0-No)",treeEmpty(T));
printf("It's depth is %d\n",treeDepth(T));
e=root(T);
if(e!=null)
#ifdef CHAR
printf("It's root is: %c\n",e);
#endif
#ifdef INT
printf("It's root is: %d\n",e);
#endif
else printf("It is empty and has no root!\n");
/*遍历*/
printf("preorderTraverse: ");
preorderTraverse(T,visit);
printf("\ninorderTraverse: ");
inorderTraverse(T,visit);
printf("\nmyinorderTraverse: ");
myinorderTraverse(T,visit);
printf("\notherinorderTraverse: ");
otherinorderTraverse(T,visit);
printf("\npostorderTraverse: ");
postorderTraverse(T,visit);
printf("\nlevelorderTraverse: ");
levelorderTraverse(T,visit);
printf("\nChoose one point: ");
#ifdef CHAR
/* 运算符*表示该输入项读入后不赋予相应的变量,即跳过该输入值 */
/*可替换为 getchar(); */
/* scanf("%c",&e); */
scanf("%*c%c",&e);
#endif
#ifdef INT
scanf("%d",&e);
#endif
/*显示*/
p=point(T,e);
#ifdef CHAR
printf("Its value is: %c\n",value(p));
#endif
#ifdef INT
printf("Its value is: %d\n",value(p));
#endif
/*改变*/
printf("Change its value as: ");
#ifdef CHAR
/*可替换为 getchar(); */
/* scanf("%c",&eother); */
/* getchar(); */
scanf("%*c%c%*c",&eother);
#endif
#ifdef INT
scanf("%d",&eother);
#endif
/*遍历*/
assign(p,eother);
printf("Now the tree is:\n");
printf("preorderTraverse: ");
preorderTraverse(T,visit);
printf("\ninorderTraverse: ");
inorderTraverse(T,visit);
printf("\npostorderTraverse: ");
postorderTraverse(T,visit);
printf("\nlevelorderTraverse: ");
levelorderTraverse(T,visit);
destroyTree(&T);
}
没有合适的资源?快使用搜索试试~ 我知道了~
数据结构(C)实验精典源程序
共22个文件
h:16个
c:6个
需积分: 0 44 下载量 21 浏览量
2008-07-13
23:11:15
上传
评论
收藏 21KB RAR 举报
温馨提示
1.链表。用双向循环链表实现约瑟夫问题<br>2.队和栈。用顺序栈和链式队实现汽车厂管理程序<br>3.串。模式串的匹配及BF和KMP算法<br>4.树。用二叉链表存储结构实现二叉树,包括先序遍历、中序遍历、后序遍历和层次遍历。<br>5.图。用十字链表存储结构实现有向图,并实现深度优先搜索和广度优先搜索<br>6.查找与排序。实现二叉平衡树的基本操作
资源详情
资源评论
资源推荐
收起资源包目录
My Data_structure(C).rar (22个子文件)
My Data_structure(C)
链表
NumberGame.c 679B
dcyclelinklist.h 5KB
h.h 186B
查找排序
二叉平衡树
h.h 570B
balanceTree.h 4KB
balanceTree.c 511B
树
binaryTree
h.h 435B
binaryTree.h 7KB
binaryTree.c 3KB
queue.h 2KB
stack.h 2KB
图
有向图
vectorGraph.h 10KB
h.h 423B
vectorGraph.c 1KB
queue.h 2KB
队和栈
carManager
h.h 186B
carManage.c 2KB
queue.h 2KB
stack.h 2KB
串
string_heap.c 612B
h.h 207B
string_heap.h 6KB
共 22 条
- 1
qq2686
- 粉丝: 5
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0