没有合适的资源?快使用搜索试试~ 我知道了~
数组栈的结构如下: type ArrayStack struct { data []interface{} top int // 栈顶指针 } 实现的操作: 栈是否为空 入栈 出栈 清空栈 输出栈 代码如下: package main import fmt type ArrayStack struct { data []interface{} top int } func NewArrayStack() *ArrayStack { return &ArrayStack{ data:make([]interface{}
资源推荐
资源详情
资源评论
数组栈的实现数组栈的实现(Go)
数组栈的结构如下:
type ArrayStack struct {
data []interface{}
top int // 栈顶指针
}
实现的操作:
栈是否为空
入栈
出栈
清空栈
输出栈
代码如下:
package main
import "fmt"
type ArrayStack struct {
data []interface{}
top int
}
func NewArrayStack() *ArrayStack {
return &ArrayStack{
data:make([]interface{}, 0, 32),
top: -1,
}
}
// 判断栈是否为空
func (this *ArrayStack) IsEmpty() bool {
if this.top < 0 {
return true
}
return false
}
// 入栈操作
func (this *ArrayStack) Push(v interface{}) {
if this.top len(this.data) - 1 {
this.data = append(this.data, v)
}else { // 直接入栈
this.data[this.top] = v
}
}
// 出栈操作
func (this *ArrayStack) Pop() interface{} {
if this.IsEmpty() {
return nil
}
v := this.data[this.top] this.top--
return v
}
// 取栈顶元素
func (this *ArrayStack) Top() interface{} {
if this.IsEmpty() {
return nil
}
return this.data[this.top] }
资源评论
weixin_38622777
- 粉丝: 5
- 资源: 938
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功