西南科技大学OJ题 交换二叉树的孩子结点1105
生活随笔
收集整理的這篇文章主要介紹了
西南科技大学OJ题 交换二叉树的孩子结点1105
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
交換二叉樹的孩子結點
?1000(ms)
?10000(kb)
?1772?/?3458
編程程序實現將二叉樹中所有結點的左右孩子互換。
輸入
二叉樹的先序序列(輸入先序序列建立二叉樹)。輸出
第一行為交換后的二叉樹的中序序列 第二行為交換后的二叉樹的先序序列樣例輸入
ABD###C###樣例輸出
CABD ACBD?
?
#include<stdio.h> #include<malloc.h> struct BTNode {char data;BTNode *lchild;BTNode *rchild; }; void PreOrder(BTNode *&p) {char a;scanf("%c",&a);if(a=='#') p=NULL;else{p=(BTNode *)malloc(sizeof(BTNode));p->data=a;PreOrder(p->lchild);PreOrder(p->rchild);} } void InOrder(BTNode *&p) {if(p!=NULL){InOrder(p->rchild);printf("%c",p->data);InOrder(p->lchild);} } void PostOrder(BTNode *&p) {if(p!=NULL){printf("%c",p->data);PostOrder(p->rchild);PostOrder(p->lchild);} } int main() {BTNode *p;PreOrder(p);InOrder(p);printf("\n");PostOrder(p); }?
總結
以上是生活随笔為你收集整理的西南科技大学OJ题 交换二叉树的孩子结点1105的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java --- 常用API
- 下一篇: 小程序 --- 项目小练手Ⅰ