c/c++语言开发共享数据结构实验:二叉树遍历(顺序存储结构)

#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); Pre …

#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]);  }

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

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

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

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;
}

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/603173.html

(0)
上一篇 2021年5月11日
下一篇 2021年5月11日

精彩推荐