/**
* TODO
*/
package com.xeezee.collection;
/**
* 栈
*
* @author luoqinglong
* @date 2012-7-31
*/
public class Stack {
private final int size;
private final long[] stackArray;
private int top;
public Stack(int caption) {
this.size = caption;
this.stackArray = new long[caption];
this.top = -1;
}
public void push(long i) {
if (!this.isFull()) {
this.stackArray[++this.top] = i;
}
}
public long pop() {
return this.stackArray[this.top--];
}
public long peek() {
return this.stackArray[this.top];
}
public boolean isFull() {
return this.top == this.size - 1;
}
public boolean isEmpty() {
return this.top == -1;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Stack stack = new Stack(10);
}
}
分享到:
相关推荐
Java中栈的实现可以使用`java.util.Stack`类,它是`Vector`类的子类,提供了`push()`, `pop()`, `peek()`等方法。 在给定的文件“王倩”中,很可能包含了实现这些数据结构的Java源代码。通过阅读和理解这些代码,你...
在IT领域,迷宫求解是一个经典的问题,而在这个场景中,我们看到的是一个使用Java编程语言实现的迷宫求解算法,它基于栈数据结构。这个名为"Migong.rar"的压缩包包含了一个名为"MiGong"的程序,以及一个可能是链接或...
java学习路线
实现一个栈,要求使用O(1)时间获取栈中最小值,O(1)执行pop、push操作。
JAVA个人发展技术栈
### Java中堆内存和栈内存详解 #### 一、引言 Java作为一种广泛使用的编程语言,其内存管理机制是理解程序行为的关键。本文将深入探讨Java中的两种主要内存区域:堆内存(Heap Memory)和栈内存(Stack Memory)。...
Java栈是一种基于后进先出(LIFO)原则的数据结构,它在计算机科学和编程中具有广泛的应用。本文将深入探讨Java中栈的实现以及其在实际应用中的使用。 首先,我们来理解栈的基本概念。栈是一种特殊类型的线性数据...
### 栈的Java语言实现详解 #### 一、栈的基本概念 栈是一种特殊的线性表,只允许在表的一端进行插入和删除操作,这一端称为栈顶(Top)。另一端称为栈底(Bottom),当表中无任何元素时称为空栈。栈遵循后进先出...
java api 中也有stack,这个是根据stack的特性编写出来的; 此程序在功能上和java提供的功能是一样的,只是实现的方法不一样;
### Java中堆与栈的区别详解 #### 一、概述 在Java编程语言中,了解堆与栈的区别对于理解和管理程序的内存使用至关重要。本文将详细解释Java中的堆和栈的概念,以及它们之间的区别。 #### 二、Java堆 Java堆是...
Java 中的堆和栈 Java 中的堆和栈是 Java 语言中两个重要的内存区域,它们扮演着不同的角色,管理着 Java 程序中的内存分配和释放。 堆(Heap) 堆是一个运行时数据区,用于存放由 new 创建的对象和数组。Java ...
关于栈的使用,内有关于使用的示例 栈的应用举例 1. 将10进制正整数num转换为n进制 private String conversion(int num, int n) { MyStack<Integer> myStack = new MyArrayStack(); Integer result = num; ...
在IT行业中,栈是一种基础且重要的数据结构,尤其在编程语言如Java中有着广泛的应用。栈遵循“后进先出”(LIFO)的原则,即最后压入的元素最先弹出。栈通常用于函数调用、表达式求值、括号匹配等场景。下面我们将...
跟着铁哥学Java,MyStore项目 CH00--技术栈、路线图 本文将对跟着铁哥学Java,MyStore项目 CH00--技术栈、路线图进行详细的知识点解析,涵盖Java后端技术栈、前后端分离架构、Spring Boot框架、MyBatis Plus持久层...
"线性链表,栈(java版)代码"这个标题暗示了提供的代码可能包括线性链表和栈的Java实现,尤其是使用这些数据结构进行实际操作,如在main方法中可能有对链表和栈的操作演示。描述中的“最新”和“简单,易懂”意味着...
Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程...
Java虚拟栈(Java Virtual Machine Stack)同样为每个线程私有,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每当线程调用一个方法,就会在虚拟栈上创建一个栈帧,方法执行完毕后,对应的栈帧也会被...
### 详解Java堆和栈 #### 一、引言 在Java编程中,理解堆(Heap)和栈(Stack)的概念及其区别对于程序员来说至关重要。本文将深入剖析这两个概念,并探讨它们之间的差异以及如何影响程序的运行。 #### 二、Java...
### 深层解析Java虚拟机中的栈与堆:对象的内存分布 #### 核心概念:栈与堆的本质及作用 在Java编程语言中,理解栈(stack)和堆(heap)的概念及其工作原理对于深入掌握Java虚拟机(JVM)如何管理内存至关重要。栈和堆...
Java基础技术栈是Java开发人员必须掌握的核心技能集,它涵盖了编程语法、数据结构、面向对象编程、异常处理、输入/输出(I/O)、集合框架、多线程、网络编程等多个方面。对于初学者来说,理解并掌握这些知识点至关重要...