数据结构实验之二叉树二:遍历二叉树
生活随笔
收集整理的這篇文章主要介紹了
数据结构实验之二叉树二:遍历二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
已知二叉樹的一個按先序遍歷輸入的字符序列,如abc,de,g,f, (其中,表示空結點)。請建立二叉樹并按中序和后序的方式遍歷該二叉樹。
Input
連續輸入多組數據,每組數據輸入一個長度小于50個字符的字符串。
Output
每組輸入數據對應輸出2行:
第1行輸出中序遍歷序列;
第2行輸出后序遍歷序列。
Sample
Input
abc,de,g,f,
Output
cbegdfa
cgefdba
Hint
#include<bits/stdc++.h>using namespace std; typedef struct node {char data;struct node *l, *r; } Tree; char a[55]; int cnt;Tree *creat() {Tree *root;if(a[cnt] == ','){cnt++;root = NULL;}else{root = new Tree;root->data = a[cnt++];root->l = creat();root->r = creat();}return root; }void mid(Tree *root) {if(root){mid(root->l);printf("%c", root->data);mid(root->r);} }void pos(Tree *root) {if(root){pos(root->l);pos(root->r);printf("%c", root->data);} } int main() {while(~scanf("%s", a)){cnt = 0;Tree *root = creat();mid(root);printf("\n");pos(root);printf("\n");} } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的数据结构实验之二叉树二:遍历二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构实验之二叉树三:统计叶子数
- 下一篇: 整理音乐_JAVA