输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
2013-04-02 20:44
190 查看
例如输入
8
/ \
6 10
/ \ / \
5 7 9 11
输出8 6 10 5 7 9 11。
以下代码是用字母代替数字,便于查看
#include <iostream>
using namespace std;
typedef struct BiNode
{
struct BiNode* lchild,*rchild;
char data;
}BiNode,*BiTree;
8
/ \
6 10
/ \ / \
5 7 9 11
输出8 6 10 5 7 9 11。
以下代码是用字母代替数字,便于查看
#include <iostream>
using namespace std;
typedef struct BiNode
{
struct BiNode* lchild,*rchild;
char data;
}BiNode,*BiTree;
void createTree(BiTree& root) { char data; cout<<"please input"<<endl; cin>>data; if(data=='#') return; root = new BiNode; root->data = data; root->rchild= NULL; root->lchild =NULL; createTree(root->lchild); createTree(root->rchild); } void printNodeByLay(BiTree root, int lay) { if(NULL==root) return; if(1==lay) cout<<root->data<<" "; printNodeByLay(root->lchild,lay-1); printNodeByLay(root->rchild,lay-1); } int printLay(BiTree root) { if(NULL==root) return 0; int l = printLay(root->lchild); int r = printLay(root->rchild); return l>r?(l+1):(r+1); } int main() { BiTree root=NULL; createTree(root); cout<<printLay(root)<<endl; for(int i=1;i<=3;i++) printNodeByLay(root,i); return 0; }
相关文章推荐
- 每天学习一算法系列(16)(输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印)
- 算法习题16:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 14. 微软面试题:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 第16 题:题目(微软):输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印(16)
- 16 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 16.输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 【编程题目】输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- Np16、输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 16题:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 【练习】输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 微软100题第16题(输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印)
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印
- <仅是自己做笔记。。。系列-8>输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。