二叉树数组实现
Posted hulianxingkong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树数组实现相关的知识,希望对你有一定的参考价值。
1 #include <stdio.h> 2 3 void createbtree(int *btree,int *data,int len) 4 { 5 int level; //树的层数 6 int i; 7 8 btree[1] = data[1]; //创建根节点 9 for( i = 2; i <= len; i++) //用循环创建其他节点 10 { 11 level = 1; //从层数1开始 12 while ( btree[level] != 0) //是否有子树 13 { 14 if (data[i] > btree[level]) //是左或右子树 15 level = level * 2 + 1; //右子树 16 else 17 level = level * 2; //左子树 18 } 19 btree[level] = data[i]; //存入节点数据 20 } 21 } 22 23 24 25 int main() 26 { 27 int btree[16]; 28 29 int data[10] = {0,5,6,4,8,2,3,7,1,9}; 30 int i; 31 32 for( i = 1; i < 16; i++ ) 33 btree[i] = 0; 34 createbtree(btree,data,9); 35 for(i = 1; i< 16; i++) 36 printf("%2d: [%d] ",i,btree[i]); 37 38 39 return 0; 40 }
以上是关于二叉树数组实现的主要内容,如果未能解决你的问题,请参考以下文章