对于我正在从事的一项工作,我们被指示创建两个实现Stack接口的数据结构(包括push,pop等方法)。当我完成第一个结构时,“链接列表”部分让我不知所措。作为编写第一个Go项目的人,我不确定如何执行以下指令:
1.创建一个名为StackLinked的新结构,该结构实现Stacker,并使用单(或双)链表作为其内部表示。
2.除了在Stacker中实现所有方法外,还使用此标头编写一个makeStackLinked()函数(不是方法!),该标头使用链接列表表示形式返回新的空堆栈
我试图这样实现:
type StackLinked struct{
top *StackLinked
next *StackLinked
data int
size int
}
func makeStackLinked() Stacker {
list := &StackLinked{
top : nil,
next : nil,
data : 0,
size : 0,
}
return list;
}
我觉得我可能已经使事情复杂化了(我只使用C ++中的单链接列表)。
是否有人对实现StackLinked结构和随附的初始化功能的最佳方法有任何建议或建议?
编辑:函数头:func makeStackLinked()StackLinked {}是分配的要求,不能更改。
谢谢!
使用以下内容:
type stackElement struct {
next *stackElement
data int
}
type StackLinked struct {
head *stackElement
n int
}
func makeStackLinked() Stacker {
return &StackLinked{}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句