永发信息网

什么是堆栈类

答案:3  悬赏:30  手机版
解决时间 2021-04-07 19:52
  • 提问者网友:骨子里的高雅
  • 2021-04-07 03:49
请问:什么是堆栈类
最佳答案
  • 五星知识达人网友:等灯
  • 2021-04-07 05:28
堆栈

堆栈又称为栈,也是线性数据结构,并且是遵循“后进先出”(LIFO)原则的重要线性数据结构。在Java中,Stack是java.util包中专门用来实现栈的工具类。

栈只能在一端输入输出,它由一个固定的栈底和一个浮动的栈顶。栈顶可以理解未是一个永远指向栈最上面元素的指针。向栈中输入数据的操作称为“压栈”,被压入的数据保存在栈顶,并同时使栈顶指针向上浮一格。从栈中输出数据的操作称为“弹栈”,被弹出的总是栈顶指针指向的位于栈顶的元素。如果栈顶指针指向了栈底,则说明当前的堆栈是空的。

Stack是Java用来实现栈的工具类,它的主要方法如下:

1、构造函数
public Stack():是栈类唯一的构造函数,创建堆栈可以直接调用它。

2、压栈与弹栈操作

public Object push(Object item):将指定对象压入栈中。

public Object pop():将堆栈最上面的元素从栈中取出,并返回这个对象。

3、检查栈是否为空

public Boolean empty():若堆栈中没有对象元素,则此方法返回true,否则返回false。

实现了堆栈这一数据结构的类叫堆栈类
全部回答
  • 1楼网友:往事埋风中
  • 2021-04-07 06:13
/循环19; } void push(int item){ if(tos == 9) system.out.println("stack is full."); else stck[++tos] = item; } int pop(){ if(tos < 0){ system.out.println("stack underflow."); return 0; }else{ return stck[tos--]; } } } public class teststack{ public static void main(string args[]){ stack mystack1 = new stack();/打印此语句 for(int i = 0;i&lt,有个指针tos(姑且看过做指针) 当我们push的时候,stck[]数组每加一个值,tos就加1相当于指针在移动;10;i++) system.out.println(mystack1.stck[0] system;//i<20,同理当我们pop的时候..;20;i++) system.out.println(mystack2;).out.out;).push(i)给你加注释了 这段代码就是首先定义一个stack堆栈类,堆栈类里有个存放值的数组:&quot,19 将 10到19按顺序插入到mystack1中的数组stck中 system..; stack(){ tos = -1:"/循环9,0打印stck中值 依次是stck[9];/new 两个mystack对象 stack mystack2 = new stack(); for (int i = 0,10打印stck中值 依次是stck[19],stck[18],stck[8];i<10 ;i++ ) {mystack1.push(i);}/.pop());/.pop());//循环0,9 将 0到9按顺序插入到mystack1中的数组stck中 (此处++tos后才加 开始tos=-1 ++后就是0) for(int i =10;i++) {mystack2.println("}//循环10;stack in mystack1; for(int i = 10;i&lt.println("stack in mystack2,指针-1也是在移动 class stack{ int stck[] = new int[10]; int tos
  • 2楼网友:神的生死簿
  • 2021-04-07 05:39
堆是存放对象和数组数据的地方... 栈是存放数据类型变量和句柄的地方... 还有公共区存放static之类的... 这是程序在运行时的内存排布... 找本《数据结构与算法》看看就知道了..
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯