设为首页 加入收藏

TOP

数据结构实验:二叉树遍历(顺序存储结构)
2019-05-23 14:32:39 】 浏览:70
Tags:数据结构 实验 顺序 存储 结构
#include<stdio.h>
int tree[513],n;//定义全局变量,在遍历的时候可以使用
void PreOrder(int i)//递归
{
if(i>n||tree[i]==0)
return;
printf(" %d",tree[i]);
PreOrder(2*i);
PreOrder(2*i+1);    
}
void InOrder(int i)
{
    if(i>n||tree[i]==0)
return;
InOrder(2*i);
printf(" %d",tree[i]);
InOrder(2*i+1);
}
void PostOrder(int i)
{
        if(i>n||tree[i]==0)
return;
PostOrder(2*i);
PostOrder(2*i+1);
printf(" %d",tree[i]);
}
View Code

给定顺序存储的二叉树,要求输出遍历该二叉树得到的先序、中序、后序遍历序列。

二叉树的顺序存储是指用一组地址连续的存储单元依次自上而下、自左向右存储完全二叉树上的结点元素(一般二叉树则将其每个结点与完全二叉树上的结点对照)。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。


int main()
{
int data;
n = 1;//下标从1开始
while(scanf("%d", &data), data!=-1)
{
tree[n++] = data;
}
PreOrder(1);
printf("\n");
InOrder(1);
printf("\n");
PostOrder(1);
printf("\n");
return 0;
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言提高内容目录 下一篇codeforces 708ALetter Cyclic Sh..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目