Go语言用map实现堆栈功能的方法

本文实例讲述了Go语言用map实现堆栈功能的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:

package stack
import (
    "strconv"
)
type Stack struct {
    quenu map[int]int
}
func New() *Stack{
    s := new(Stack)
    s.quenu = make(map[int]int)
    return s
}
func (s *Stack) Push(i int) {
    s.quenu[len(s.quenu)] = i
}
func (s *Stack) Pop() {
    delete(s.quenu, len(s.quenu)-1)
}
func (s *Stack) String() string {
    info := ""
    for i := 0; i < len(s.quenu); i++ {
        info = info + "[" + strconv.Itoa(i) + "," + strconv.Itoa(s.quenu[i]) + "]"
    }
    return info
}

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

(0)

相关推荐

  • Python记录详细调用堆栈日志的方法

    本文实例讲述了Python记录详细调用堆栈日志的方法.分享给大家供大家参考.具体实现方法如下: import sys import os def detailtrace(info): retStr = "" curindex=0 f = sys._getframe() f = f.f_back # first frame is detailtrace, ignore it while hasattr(f, "f_code"): co = f.f_code retSt

  • go 代码的调试---打印调用堆栈的实例

    本文介绍如何打印调用堆栈进行go代码的调试. 打印堆栈使用的runtime package中的Stack()函数 func Stack(buf []byte, all bool) int Stack formats a stack trace of the calling goroutine into buf and returns the number of bytes written to buf. If all is true, Stack formats stack traces of

  • Go语言的队列和堆栈实现方法

    本文实例讲述了Go语言的队列和堆栈实现方法.分享给大家供大家参考.具体如下: golang,其实我的实现是利用container/list包实现的,其实container/list包很强大. 复制代码 代码如下: package main import (     "fmt"     "container/list" ) func main() {     // 生成队列     l := list.New()     // 入队, 压栈     l.PushBac

  • Go语言用map实现堆栈功能的方法

    本文实例讲述了Go语言用map实现堆栈功能的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package stack import (     "strconv" ) type Stack struct {     quenu map[int]int } func New() *Stack{     s := new(Stack)     s.quenu = make(map[int]int)     return s } func (s *Stack) Pus

  • go语言Pflag Viper Cobra 核心功能使用介绍

    目录 1.如何构建应用框架 2.命令行参数解析工具:Pflag 2.1 Pflag 包 Flag 定义 2.2 Pflag 包 FlagSet 定义 2.3 Pflag 使用方法 3.配置解析神器:Viper 3.1读入配置 3.2 读取配置 4.现代化的命令行框架:Cobra 4.1 使用 Cobra 库创建命令 4.2使用标志 5.总结 1.如何构建应用框架 一般来说构建应用框架包含3个部分: 命令行参数解析 配置文件解析 应用的命令行框架:需要具备 Help 功能.需要能够解析命令行参数和

  • go语言map字典删除操作的方法

    本文实例讲述了go语言map字典删除操作的方法.分享给大家供大家参考.具体分析如下: 这里先构造了一点map,添加了青岛.济南.烟台三地的拼音和汉字字典,然后删除青岛,最后查看青岛是否还存在 复制代码 代码如下: package main import "fmt" func main(){     var pc map[string] string     pc = make(map[string] string)     pc["qingdao"] = "

  • Go语言字典(map)用法实例分析【创建,填充,遍历,查找,修改,删除】

    本文实例讲述了Go语言字典(map)用法.分享给大家供大家参考,具体如下: 字典是一种内置的数据结构,用来保存 键值对 的 无序集合. (1)字典的创建 1) make(map[KeyType]ValueType, initialCapacity) 2) make(map[KeyType]ValueType) 3) map[KeyType]ValueType{} 4) map[KeyType]ValueType{key1 : value1, key2 : value2, ... , keyN :

  • JS自定义对象实现Java中Map对象功能的方法

    本文实例讲述了JS自定义对象实现Java中Map对象功能的方法.分享给大家供大家参考.具体分析如下: Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象. 这里我创建一个自定义对象,这个对象内包含一个数组来存储数据,数据对象是一个Key,可以实际存储的内容!   这里Key,你要使用String类型,和Java一样,你可以进行一些增加,删除,修改,获得的操作. 使用很简单,我先把工具类给大家看下: 复制代码 代码如下: /**  *

  • Go语言遍历map实现(访问map中的每一个键值对)

    map 的遍历过程使用 for range 循环完成,代码如下: scene := make(map[string]int) scene["route"] = 66 scene["brazil"] = 4 scene["china"] = 960 for k, v := range scene { fmt.Println(k, v) } 遍历对于Go语言的很多对象来说都是差不多的,直接使用 for range 语法即可,遍历时,可以同时获得键和值

  • Go语言基础map用法及示例详解

    目录 概述 语法 声明和初始化 读取 删除 遍历 总结 示例 概述 map是基于key-value键值对的无序的集合 Go语言中的map是引用类型 必须初始化才能使用. 语法 声明和初始化 配合make使用,否则是nil var map[KeyType]ValueType //KeyType:表示键的类型 //ValueType:表示键对应的值的类型 make(map[KeyType]ValueType, [cap]) //cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map

  • C语言光标旋转与倒计时功能实现示例详解

    目录 1.光标旋转 2.倒计时 1.光标旋转 首先问大家一个问题,大家觉得回车与换行是一个相同的概念吗? 很多人往往把它们两个当作是一个相同的概念,为什么会这么说呢?回想一下'\n',大家觉得这是回车符号呢?还是换行符号呢?好像我们在日常中并没有特意区分这两个概念,我们既说'\n'是一个回车符号,也说这是一个换行符号,这就是我们混淆的表象,但回车与换行确实两个不同的概念,接下来带大家了解一下回车与换行吧! 回车:代表的是光标回到当前行的最开始的位置. 换行:代表的是光标移动到下一行. 根据上面的

  • 用C语言实现简单的计算器功能

    本文实例为大家分享了C语言实现简单的计算器功能的具体代码,供大家参考,具体内容如下 简单计算器,实现简单的加减乘除功能,选择对应的运算符输出运算符对应的编号,然后输入我们要计算的两个数,程序会给出计算结果. 效果演示 简单计算器代码 /* 简单计算器 name:zsh  */  #include <stdio.h>    //简单计算器  void menu()    //运算符显示界面  {     printf("---------------------------------

随机推荐