静态链表表示二叉树
来源:互联网 发布:cc2530中文数据手册 编辑:程序博客网 时间:2024/05/16 19:20
静态链表就是利用数组来模拟一个链表存储,所以需要一个游标来指示下一个元素存储在数组哪儿(即指示了下一个元素的下标)。
下面的程序就是利用一个静态链表来存储了一个二叉树(二叉树的结构如图所示):
具体代码如下:
#include <iostream>using namespace std;typedef struct{char data;int left;int right;} static_node;void pre_order_traverse(static_node* binary_tree, int index){if (index == -1){return;}cout << binary_tree[index].data << " ";pre_order_traverse(binary_tree, binary_tree[index].left);pre_order_traverse(binary_tree, binary_tree[index].right);}int main(){static_node binary_tree[7];binary_tree[0].data = 'a';binary_tree[0].left = 1;binary_tree[0].right = 2;binary_tree[1].data = 'b';binary_tree[1].left = 3;binary_tree[1].right = -1;binary_tree[2].data = 'c';binary_tree[2].left = 4;binary_tree[2].right = 5;binary_tree[3].data = 'd';binary_tree[3].left = -1;binary_tree[3].right = 6;binary_tree[4].data = 'e';binary_tree[4].left = -1;binary_tree[4].right = -1;binary_tree[5].data = 'f';binary_tree[5].left = -1;binary_tree[5].right = -1;binary_tree[6].data = 'g';binary_tree[6].left = -1;binary_tree[6].right = -1;pre_order_traverse(binary_tree, 0);cout << endl;return 0;}
前序输出结果是:“a b d g c e f”
- 静态链表表示二叉树
- 二叉树链表表示
- 小程序-----链表表示二叉树
- 二叉树链表表示法
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示和实现
- 二叉树的二叉链表表示与实现
- 二叉树的链表表示法实现
- 二叉树的链表表示 C++实现
- 广义表表示树二叉树
- 广义表表示二叉树结构生成二叉链表的算法
- 二叉树数组表示法,链表表示法,中序遍历
- 数据结构——二叉树的孩子链表表示法
- 第6章 树和二叉树——递归方法先序、中序、后序遍历二叉链表表示的二叉树
- 树的儿子链表表示法
- 支付宝代志远:HBase系统故障恢复的优化实践分享
- matlab2013 安装 存储空间不足 解决方案
- 系统性能调优
- mongodb在java驱动包下的操作(转)
- MVC中单用户登录
- 静态链表表示二叉树
- IE7 float:left失效的解决方法
- 切换触发点击的事件
- 对Ron Eglash在Ted演讲上提到的Bamana沙地符号的想法
- linux awk命令
- 记录备忘,VMDK转img
- 一个简单的网络验证分析(菜鸟)
- ubuntu12.04 安装eclipse c/c++工具
- AT32UC3C之power manager(PM)