【zz】实现一棵多叉树
来源:互联网 发布:vmware mac os 联网 编辑:程序博客网 时间:2024/06/14 01:35
实现一棵多叉树
这棵树可以有任意多颗子树 0-n
1
2 3 4
5 6 7 8
输入建立二叉树,输入的格式是每个节点的具体数据和拥有的孩子数目
例如上面的树是这样建成的:
1 3
2 2
5 0
6 0
3 1
7 0
4 1
8 0
1 #include <iostream>
2 #include <vector>
3 #include <queue>
4 usingnamespace std;
5
6 struct node
7 {
8 int item;
9 vector<node*> children;
10 };
11
12 node* build()
13 {
14 int t, n;
15 cin >> t >> n;
16 node* p=0;
17 p = new node;
18 p->item= t;
19 for (int i=0; i!= n;++i)
20 {
21 p->children.push_back(build());
22 }
23 return p;
24 }
25
26 void level(node* root)
27 {
28 if (root!=0)
29 {
30 node* t;
31 queue<node*> q;
32 q.push(root);
33 while (!q.empty())
34 {
35 t = q.front();
36 cout << t->item<<'';
37 q.pop();
38 for (vector<node*>::size_type i = 0; i != t->children.size();++i)
39 {
40 q.push(t->children[i]);
41 }
42 }
43 }
44 }
45
46 int main()
47 {
48 node* root=0;
49 root = build();
50 level(root);
51 return0;
52 }
- 【zz】实现一棵多叉树
- 用C++实现WebService(ZZ)
- CRC算法与实现(ZZ)
- 用C++实现WebService(ZZ)
- zz: Directshow 虚拟摄像头实现
- 排序算法java实现(ZZ)
- android binder机制实现【zz】
- boost::asio 实现 libtorrent (zz)
- zz
- zz
- ZZ
- zz
- [zz]
- zz
- zz
- zz
- zz
- ZZ
- 奇怪的C语言代码
- 关于Jmail不能发送邮件问题
- linux文件系统的系统分析--(五)路径名的查找
- 如何在Android模拟器下添加busybox(图文)
- Java程序员从笨鸟到菜鸟之(二十六)XML之DOM和SAX解析
- 【zz】实现一棵多叉树
- Spring参考手册 mvc:resources 分类:
- 页眉、页脚及页码的设置(fancyhdr宏包的使用)
- 黑马程序员-Ajax原理
- VS2008 读写大文件
- Architecture & Connection
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- CAP & MAP & VLR & HLR & GMSC & DP & gsmSSF简介
- Servlet入门