原文链接:https://www.goroutine.me/datastructure/2019/06/11/data-structure-stack-based-on-linkedlist-01.html
数据结构中的栈基本操作,我这里是也是为了学习记录我自己的书写的代码过程.其中包含取栈的新建,新增元素,删除元素,取指定索引值,向元素尾部追加元素 等等!
1、 场景
1.1、 中文描述
数据结构中的栈基本操作,我这里是也是为了学习记录我自己的书写的代码过程.其中包含取栈的新建,新增元素,删除元素,取指定索引值,向元素尾部追加元素 等等!
2、 代码示例
2.1、 基于链表使用栈的操作
//使用链表实现栈的结构
//定义一个链表结构
type node struct {
next *node
val interface{
}
}
//定义一个栈链表结构
type LinkedListStack struct {
topNode *node
}
2.2、 创建一个栈
//新建一个链表栈
func NewLinkedListStack() *LinkedListStack {
return &LinkedListStack{
nil}
}
2.3、 判断栈是否是一个空栈
//判断栈是否为空
func (this *LinkedListStack) IsEmpty() bool {
if this.topNode == nil {
return true
}
return false
}
2.4、 向栈添加元素
//向链表栈push加入数据
func (this *LinkedListStack) Push(v interface