去语言实现顺序存储的栈

  

本文实例讲述了去语言实现顺序存储的栈。分享给大家供大家参考。具体如下:

  

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())//长度
  }

  

希望本文所述对大家的去语言程序设计有所帮助。

去语言实现顺序存储的栈