设为首页 加入收藏

TOP

一步一步写算法(之排序二叉树的保存和加载) (二)
2014-11-23 23:36:39 来源: 作者: 【 】 浏览:17
Tags:步一步 算法 排序 保存 加载
return FALSE;

if(NULL == *ppTreeNode){

*ppTreeNode = (TREE_NODE*)create_tree_node(data);

assert(NULL != *ppTreeNode);

(*ppTreeNode)->number = 1;

return TRUE;

}

return _insert_node_into_tree(*ppTreeNode, data);

} 那么,此时保存的时候放在硬盘里面的数据应该有哪些呢?我们在遍历每一个节点的时候,只需要把对应的数据和序列号依次放到硬盘即可。

typedef struct _DATA

{

int data;

int number;

}DATA;

typedef struct _DATA

{

int data;

int number;

}DATA;

保存的数据总要再次启用吧?怎么加载呢?很简单,四个步骤:

1)根据记录的节点总数分配n*sizeof(TREE_NODE)空间;

2)依次从硬盘中取出DATA数据,把它们复制给TREE_NODE,暂时left_side和right_side指针为空;

3)对于对于每一个节点n,寻找它的父节点n>>1,填充left_side或者是right_side,并且根据(n%2)是否为1判断当前节点是左节点还是右节点;

4)获取n=1的节点,那么这个节点就是我们需要寻找的根节点,至此数据就加载完毕。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一步一步写算法(之hash表) 下一篇一步一步写算法(之二叉树广度遍..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: