/*二叉树的创建与遍历*/
#include<stdio.h>
#include<stdlib.h>
#define MAX 150000
//链表二叉树
typedef struct Tree
{
int data;
struct Tree*left,*right;
}tree;
/*
//创建链表二叉树的结点!!!这是插入算法,不能以前序创建,不止有一个
tree* creat_tree(tree*root,int val) //一个结点
{
tree* newnode;
tree*current;//指向当前处理的结点
tree*parentnode;//父指针
newnode=(tree*)malloc(sizeof(struct Tree));
newnode->data=val;
newnode->left=NULL;
newnode->right=NULL;
if(root==NULL)
{
return newnode;//作为根结点返回
}
else
{
for(current=root;current!=NULL;)
{
parentnode=current; //保存父结点
if(current->data>val)
current=current->left;//左子结点作为当前结点
else current=current->right;
}
if(parentnode->data>val) //插入结点
parentnode->left=newnode;
else parentnode->right=newnode;
}
return root;
}
*/
tree* CBT()
{
int data;
tree*t;
scanf("%d",&data);
if(data==0)
{
t=NULL;
}
else
{
t=(tree*)malloc(sizeof(struct Tree));
t->data=data;
t->left=CBT();
t->right=CBT();
}
return t;
}
void pre(tree* ptr) //前序遍历
{
if(ptr!=NULL)
{
printf("%d ",ptr->data);
pre(ptr->left);
pre(ptr->right);
}
}
void in(tree*ptr)
{
if(ptr!=NULL)
{
in(ptr->left);
printf("%d ",ptr->data);
in(ptr->right);
}
}
void post(tree*ptr)
{
if(ptr!=NULL)
{
post(ptr->left);
post(ptr->right);
printf("%d ",ptr->data);
}
}
int main()
{
int data[MAX];
int i;
/*
//输入为一组用空格间隔的整数
int d,num=0;
scanf("%d",&d);
if(d!=0)
{
data[num]=d; num++;
while(getchar()==' ')
{
scanf("%d",&d);
if(d!=0)
{
data[num]=d;
num++;
}
}
}
else
{
while(getchar()==' ')
{
scanf("%d",&d);
if(d!=0)
{
data[num]=d;
num++;
}
}
}
//for(i=0;i<num;i++)
//printf("%d ",data[i]); //测试正确,先根序列
tree*root=NULL;
for(i=0;i<num;i++)
{
root=creat_tree(root,data[i]);
}
*/
tree*root=CBT();
pre(root);
printf("\n");
in(root);
printf("\n");
post(root);
printf("\n");
}
没有合适的资源?快使用搜索试试~ 我知道了~
吉林大学数据结构 PTA 上机作业

共9个文件
c:7个
cpp:2个

需积分: 5 16 下载量 191 浏览量
2023-11-17
21:42:26
上传
评论 5
收藏 10KB ZIP 举报
温馨提示
吉林大学数据结构 PTA 上机作业,给后来者一个参考,不会的可以参考一下思路。 1.单链表基本操作 2.队列的实现及基本操作 3.二叉树查找结点及父节点 4.二叉树的创建与遍历 5.二叉树删除子树 6.快速排序算法 7.图的创建与删边操作 8.栈的实现及基本操作 9.字符串模式匹配
资源推荐
资源详情
资源评论




















收起资源包目录











共 9 条
- 1
资源评论


一杯水果茶!
- 粉丝: 7434
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 智能电网信息通信技术论文.doc
- 在省通信公司-市分公司揭牌仪式上的致辞.docx
- 基于客户感知的网络质量考核体系.doc
- 基因工程基本工具.pptx
- 西元计算机应用电工技术实训室解决方案.docx
- 网络营销的管理与策略分析.pptx
- 互联网行业述职报告5篇.doc
- 起搏器优化及自动化程控起搏器随访专家讲座.pptx
- 教师继续教育网络研修心得.doc
- 图像处理的流行方式和发展趋势.pdf
- 基础信息化政务规范化考察学习心得体会.doc
- 嵌入式系统设计与实现试验教学大纲专业方向课.doc
- 项目管理模式与工程总承包详解.ppt
- 适用于微信小程序的 HTML 与 Markdown 渲染库
- 最新苏杭基于PLC气动机械手控制系统设计.doc
- 仪征电子商务平台报告(政府版)-PPT课件.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
