数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 2445|回复: 1

高手帮一下忙

[复制链接]
发表于 2004-11-15 21:54:48 | 显示全部楼层 |阅读模式
<>最近我要做这样一个c++程序:首先是已经定义了一个二*链表类BinNode(二*树的一种链表实现),并且一句对二*树的每个节点赋值,对二*树的根节点为root;我要用非递归算法对二*树进行中序遍历,也就是用堆栈的方法。于是我定义了一个堆栈类Stack,</P>
<>class{</P>
<>prevate:</P>
<P>int size;</P>
<P>int top;</P>
<P>ELEM *listarray;</P>
<P>}; 我这里只是说明了它的三个成员变量。例如对ELEM在代码开头已经定义了typedef float ELEM</P>
<P>初始化堆栈的时候是这样的:Stack(const int sz)//初始化堆栈 initialize
{size=sz;top=0;listarray=new ELEM[sz];} 也就是listarray存储的是指向float类型的指针</P>
<P>但是我现在要求listarray存储的是指向二*树节点类型BinNode*的指针;</P>
<P>于是我查书可以这样初始化堆栈:</P>
<P>listarray=(BinNode*)malloc(size*sizeof(BinNode));</P>
<P>也就是预先分配listarray  size个指向BinNode类型的空间,我想问:是不是同时也初始化了size 个BinNode类型的节点空间呢??我认为是的。</P>
<P>但是我是想把原来已经存在的二*树的节点的地址利用进栈函数push进栈,也就是在初始化堆栈的时候分配size个指向BinNode类型的,但是不要求初始化了size 个BinNode类型的节点空间,应为没必要了。</P>
<P>请问高手有什么办法帮帮我呀</P>
 楼主| 发表于 2004-11-15 21:58:01 | 显示全部楼层
以上二*树是二叉树的意思,不知道怎么打错了
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 23:56 , Processed in 0.057295 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表