gpt4 book ai didi

recursion - Eiffel 中的二叉树

转载 作者:行者123 更新时间:2023-12-04 04:42:48 26 4
gpt4 key购买 nike

我正在尝试创建一个程序来使用递归方法创建二叉树,但我遇到了问题。

在我的类(class) MYNODE ,我将我们左右包括在内,但是它们可以为空(无效)。这是代码,有人可以帮助我吗?

class
MYNODE
create
make
feature
name: STRING
left: MYNODE
right: MYNODE
setname(n:STRING) do
name:= n
end
setleft(i:MYNODE) do
left:=i
end
setright(i:MYNODE) do
right:=i
end
make do
create nameme.make (80)
end
end

还有我的主类:
class
MAIN
create
make
feature
root : MYNODE
node: MYNODE
build_tree() do
io.put_string ("Name: ")
io.read_line
node.setname(io.last_string)
insert(node)
end
insert(no,al:MYNODE) do
if no.name<al.name then
if no.left = Void then
no.setleft(al)
else
insert(no.left,al)
end
else
if no.right = Void then
no.setright(al)
else
insert(no.right,al)
end
end
end
make do
create root.make()
create node.make()
build_tree()
end
end

最佳答案

我假设您在编译此代码时遇到问题,因为这些属性是附加的,因此需要在使用前进行初始化。为了让Void , 需要声明属性 leftright可拆卸,也就是说:

left, right: detachable MYNODE

关于recursion - Eiffel 中的二叉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18642430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com