源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

go语言实现顺序存储的栈

  • 时间:2022-03-14 05:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:go语言实现顺序存储的栈
本文实例讲述了go语言实现顺序存储的栈。分享给大家供大家参考。具体如下: 1. sequence.go代码如下:
[u]复制代码[/u] 代码如下:
//////// // 顺序存储的栈 //////// 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代码如下:
[u]复制代码[/u] 代码如下:
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语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部