佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > go語言實現(xiàn)順序存儲的棧

go語言實現(xiàn)順序存儲的棧

熱門標簽:地方門戶網(wǎng)站 呼叫中心市場需求 鐵路電話系統(tǒng) AI電銷 百度競價排名 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 服務(wù)外包

本文實例講述了go語言實現(xiàn)順序存儲的棧。分享給大家供大家參考。具體如下:

1. sequence.go代碼如下:

復(fù)制代碼 代碼如下:
////////
// 順序存儲的棧
////////
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代碼如下:
復(fù)制代碼 代碼如下:
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語言程序設(shè)計有所幫助。

您可能感興趣的文章:
  • Go語言單鏈表實現(xiàn)方法
  • Go語言基礎(chǔ)知識總結(jié)(語法、變量、數(shù)值類型、表達式、控制結(jié)構(gòu)等)
  • go語言實現(xiàn)一個最簡單的http文件服務(wù)器實例
  • go語言中時間戳格式化的方法
  • go語言檢測文件是否存在的方法
  • go語言讀取csv文件并輸出的方法
  • Go語言對字符串進行MD5加密的方法
  • Go語言實現(xiàn)順序存儲的線性表實例

標簽:衡水 銅川 黃山 湘潭 崇左 湖南 蘭州 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標題《go語言實現(xiàn)順序存儲的?!?,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    宜宾县| 朝阳市| 侯马市| 即墨市| 清远市| 南宁市| 巴东县| 鄄城县| 基隆市| 阜宁县| 江口县| 鹤岗市| 吉木乃县| 汨罗市| 皮山县| 漾濞| 永年县| 安庆市| 古丈县| 渑池县| 延长县| 扎兰屯市| 渭南市| 台北县| 建水县| 张家界市| 电白县| 平顺县| 兴义市| 甘德县| 酉阳| 德昌县| 梓潼县| 海南省| 宁城县| 曲麻莱县| 深泽县| 松潘县| 宣汉县| 漯河市| 陕西省|