假设二叉树用二叉链表存储,用先序序列结果创建。输入二叉树的先序序列,请你先创建二叉树,并对树做个镜面反转,再输出反转后的二叉树的先序遍历、中序遍历、后序遍历和层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。
--程序要求--
若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio
程序中若include多过一个头文件,不看代码,作0分处理
不允许使用第三方对象或函数实现本题的要求
标签:lse else pac 允许 turn 后序 sample code clu
假设二叉树用二叉链表存储,用先序序列结果创建。输入二叉树的先序序列,请你先创建二叉树,并对树做个镜面反转,再输出反转后的二叉树的先序遍历、中序遍历、后序遍历和层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。
测试次数t
每组测试数据是一个二叉树的先序遍历序列,#表示空树
对每棵二叉树,输出镜面反转后的先序、中序、后序和层次遍历序列。如果空树,输出四个NULL(后面不加空格)。如下:
NULL
NULL
NULL
NULL
#include<iostream> using namespace std; class BitreeNode { public: char data; BitreeNode *left; BitreeNode *right; BitreeNode() { left=right=NULL; } }; class Bitree { public: int pos; BitreeNode *Root; char *strtree; Bitree(char *str) { pos=0; strtree=str; Root=CreateBitreeReverse(); } BitreeNode *CreateBitreeReverse() { char ch=strtree[pos]; pos++; if(ch==‘#‘) return NULL; else { BitreeNode *T=new BitreeNode(); T->data=ch; T->right=CreateBitreeReverse(); T->left=CreateBitreeReverse(); return T; } } void preorder(BitreeNode *T) { if(T!=NULL) { cout<<T->data<<" "; preorder(T->left); preorder(T->right); } return; } void inorder(BitreeNode *T) { if(T!=NULL) { inorder(T->left); cout<<T->data<<" "; inorder(T->right); } return; } void pastorder(BitreeNode *T) { if(T!=NULL) { pastorder(T->left); pastorder(T->right); cout<<T->data<<" "; } return; } void levelorder() { BitreeNode *Q[100]; int fr=0; int re=0; if(Root==NULL) return; Q[0]=Root; re++; while(fr!=re) { BitreeNode *temp=Q[fr]; cout<<temp->data<<" "; if(temp->left!=NULL) { Q[re]=temp->left; re++; } if(temp->right!=NULL) { Q[re]=temp->right; re++; } fr++; } return; } }; int main() { int T; cin>>T; while(T--) { char str[100]; cin>>str; Bitree Tree(str); if(Tree.Root==NULL) { cout<<"NULL"<<endl; cout<<"NULL"<<endl; cout<<"NULL"<<endl; cout<<"NULL"<<endl; } else { Tree.preorder(Tree.Root); cout<<endl; Tree.inorder(Tree.Root); cout<<endl; Tree.pastorder(Tree.Root); cout<<endl; Tree.levelorder(); cout<<endl; } } return 0; }
标签:lse else pac 允许 turn 后序 sample code clu
原文地址:https://www.cnblogs.com/SZU-DS-wys/p/12180833.html