二叉树数组表示
1. [代码][C/C++]代码
01
#include
<stdio.h>
02
03
/*
04
* 使用数组创建二叉树
05
*
1 初始化二叉树,btree[level] 初始化为0
06
2 level 标识二叉树的坐标
07
左子树的坐标
level*2
08
右子树的坐标 level*2+1
09
从根节点开始,找到合适的位置,插入二叉树
10
11
12
*/
13
create_tree(int
*btree,int *data, int
len)
14
{
15
int i;
16
int
level;
17
18
btree[1] = data[1];
19
for(i=2;i<=len;i++)
20
{
21
level
= 1;
22
while(btree[level] !=
0)
23
{
24
if(data >
btree[level])
25
{
26
level =
level*2+1;
27
}else{
28
level =
level*2;
29
}
30
}
31
btree[level] =
data;
32
}
33
}
34
35
//打印二叉树
36
void
print_btree(int *btree,int
len)
37
{
38
int i,j;
39
for(i=1;i<len;i++)
40
{
41
printf("%2d,{%d}\n",i,btree);
42
}
43
j =
1;
44
printf("\t%d\n",btree[j]);
45
while(j*2 < len){
46
if(j*2 < len){
47
printf("%d\t\t",btree[j*2]);
48
printf("%d\t\t",btree[j*2+1]);
49
printf("\n");
50
}
51
j++;
52
}
53
}
54
55
56
57
void
main()
58
{
59
int btree[16];
60
int
data[10] = {0,5,6,4,8,2,3,7,1,9};
61
//create a bree
62
int
i;
63
for(i<=1;i<16;i++)
btree =
0;
64
65
create_tree(btree,data,9);
66
print_btree(btree,16);
67
68
}
css3旋转
文章来源:http://www.huiyi8.com/css3/xuanzhuan/
相关文章
- 07-24C++ 代码头注释模板
- 07-24c++练习10——两个栈实现一个队列
- 07-24Bencode编码解析的C++实现
- 07-24C++实现二叉搜索树的查找
- 07-24C++内置类型的机器实现
- 07-24852. 山脉数组的峰顶索引【二分 C++】
- 07-24Leetcode 104. 二叉树的最大深度 解题思路及C++实现
- 07-24C++ 简单 Hash容器的实现
- 07-24C++指针数组和数组指针
- 07-24线性表之五,C++代码(学堂在线,华南理工大学)