数据结构-栈操作-用链表实现栈基本操作

本文记录了数据结构中栈的基本操作,通过链表实现,包括创建栈、判断栈空、添加元素、删除元素、获取栈顶元素及清除栈元素等。提供了详细的代码示例和测试源码。
摘要由CSDN通过智能技术生成
原文链接: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
  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值