来源:自学PHP网 时间:2019-08-07 16:47 作者:小飞侠 阅读:次
[导读] go语言实现顺序存储的栈...
本文实例讲述了go语言实现顺序存储的栈。分享给大家供大家参考。具体如下: 1. sequence.go代码如下:
复制代码 代码如下:
////////
// 顺序存储的栈 //////// package sequence const MAXSIZE = 20 type Stack struct { Data [MAXSIZE]int //存储栈元素 Top int //指向栈顶,总是指向顶部元素,空时为-1 } //压栈 //d:栈元素 func (s *Stack) Push(d int) bool { if s.Top+1 > MAXSIZE { return false } s.Data[s.Top+1] = d s.Top++ return true } //弹栈 func (s *Stack) Pop() int { if s.Top == -1 { return 0 } s.Data[s.Top] = 0 d := s.Data[s.Top] s.Top-- return d } //取栈的容量 func (s *Stack) GetVol() int { return len(s.Data) } //取栈的长度 func (s *Stack) GetLength() int { c := s.Top + 1 return c } 2. main.go代码如下:
复制代码 代码如下:
package main
import ( "fmt" "stack/sequence" ) func main() { //初始化一个栈 var s sequence.Stack s.Top = -1 //压入10个元素 for i := 1; i <= 10; i++ { 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()) //长度 } 希望本文所述对大家的Go语言程序设计有所帮助。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com