zoukankan      html  css  js  c++  java
  • 使用golang实现栈(stack)

    package main
    
    import (
    	"fmt"
    	"errors"
    )
    
    type Stack []int
    
    // 入栈
    func (s *Stack) push(a int) {
    	*s = append(*s, a)
    }
    
    // 出栈
    func (s *Stack) pop() (int, error) {
    	if (len(*s) == 0) {
    		return 0, errors.New("Empty Stack")
    	}
    	a := *s
    	defer func() {
    		*s = a[:len(a) - 1]
    	}()
    	return a[len(a) - 1], nil
    }
    
    
    func main() {
    	// 数据初始化化
    	var s Stack = []int{12}
    	s.push(10)
    	fmt.Printf("入栈后的 Stack : %v
    ", s)
    
    	a, err := s.pop()
    	fmt.Printf("出栈的数据:%v , 目前的 Stack : %v, Error: %v
    ", a, s, err)
    
    }
    
    资源分享: 云服务器
  • 相关阅读:
    Core Java 5
    pyDay11
    c++第二十一天
    pyDay10
    c++第二十天
    RadioButton控件
    ListBox控件
    Image控件
    FileUpload控件
    DropDownList控件
  • 原文地址:https://www.cnblogs.com/GetcharZp/p/15171069.html
Copyright © 2011-2022 走看看