学习
实践
活动
专区
工具
TVP
写文章

技术分析:Java数据结构之栈stack

一、概述

栈(stack):是线性表的一种,限制仅在线性表的一端进行插入和删除操作。其中允许插入和删除的一端称为栈顶(top),不允许插入和删除的一端称为栈底(bottom)。

二、 顺序存储栈的基本操作以及算法实现

基本操作:初始化、判断是否为空、求栈深、读取栈顶元素、出栈/入栈、栈置空等。

抽象出栈的基本操作:

栈的顺序存储数据结构Java实现:

1.栈置空

2.判断栈是否为空

3.进栈操作

4.出栈操作

5.求栈深操作

public int size(){

return top;

}

6.读取栈顶元素

三、链式存储栈的基本操作以及算法实现

说明:顺序存储的栈使用简单,但必须事先分配一定大小的存储空间,分配大了可能会造成浪费,分配小了空间不够可能出现栈溢出异常,此时可考虑链表存储栈中的元素,这样既不会造成浪费又不会造成栈溢出。

链式栈的结构如下:

1.链栈的进栈操作

2.链栈的出栈操作

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191106A0DGAX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券