本文实例讲述了去语言实现顺序存储的栈。分享给大家供大家参考。具体如下:
1。序列。去代码如下:
代码如下:////////
//顺序存储的栈
////////
包序列
const最大尺寸=20
堆栈结构类型{
,,数据(最大容量)int//存储栈元素
,,Top int ,,,,,,,,//指向栈顶,总是指向顶部元素,空时为1
}
//压栈
//d:栈元素
func (s *栈)推动(d int) bool {
,,如果s。上+ 1比;最大容量{
,,,,,,返回false
,,}
,,s.Data [s。上+ 1]=d
,,年代。前+ +
,,还真
}
//弹栈
func (s *栈)Pop () int {
,,如果s。顶级==1 {
,,,,,,返回0
,,}
,,s.Data [s。前)=0
,,d:=s.Data [s。顶级]
,,年代。前——
,,返回d
}
//取栈的容量
func (s *栈)GetVol int () {
,,返回len (s.Data)
}
//取栈的长度
func (s *栈)GetLength int () {
,,c:=I? 1
,,返回c
}
2. 主要。去代码如下:
代码如下:主要包
导入(
,,“fmt”
,,“栈/序列”
)
函数main () {
,,//初始化一个栈
,,var年代序列。堆栈
,,年代。顶级=1
,
,,//压入十个元素
,,我:=1;我& lt;=10;我+ + {
,,,,,,s.Push (i)
,,}
,,fmt.Println (s)
,,fmt.Println (s.GetVol ()),,,//容量
,,fmt.Println (s.GetLength())//长度
,
,,//弹出一个元素
,,s.Pop ()
,,s.Pop ()
,,fmt.Println (s)
,,fmt.Println (s.GetVol ()),,,//容量
,,fmt.Println (s.GetLength())//长度
}
希望本文所述对大家的去语言程序设计有所帮助。