`

一个简单的java栈

阅读更多
public class MyStack {
	private long[] arr;

	private int top;

	public MyStack() {
		arr = new long[10];
		top = -1;
	}

	public MyStack(int maxsize) {
		arr = new long[maxsize];
		top = -1;
	}

	// add
	public void push(int value) {
		arr[++top] = value;
	}

	// remove{
	public long pop() {
		return arr[top--];
	}

	public long peek() {
		return arr[top];
	}

	public boolean isEmpty() {
		return top == -1;
	}

	public boolean isFull() {
		return top == arr.length - 1;
	}

	public static void main(String[] args) {
		MyStack myStack = new MyStack(4);
		myStack.push(1);
		myStack.push(2);
		myStack.push(3);
		myStack.push(4);
		System.out.println(myStack.isEmpty());
		System.out.println(myStack.isFull());
		System.out.println(myStack.peek());
		System.out.println(myStack.peek());
		while (!myStack.isEmpty()) {
			myStack.pop();
		}
		System.out.println(myStack.isEmpty());
		System.out.println(myStack.isFull());
	}
}

分享到:
评论

相关推荐

    java 栈的实现和应用

    Java栈是一种基于后进先出(LIFO)原则的数据结构,它在计算机科学和编程中具有广泛的应用。本文将深入探讨Java中栈的实现以及其在实际应用中的使用。 首先,我们来理解栈的基本概念。栈是一种特殊类型的线性数据...

    java 栈和队列的小例子

    以下是一个简单的栈操作例子: ```java import java.util.Stack; public class StackExample { public static void main(String[] args) { Stack<Integer> stack = new Stack(); stack.push(1); // 入栈 stack...

    Java栈详解Java栈详解.doc

    - **线程绑定**:每当启动一个新的线程,JVM会为该线程分配一个Java栈,用于保存线程的运行状态。 - **栈帧结构**:栈是通过栈帧来组织的,每个栈帧包含局部变量区、操作数栈和帧数据区。 - **数据私有性**:每个...

    Java用栈实现的计算器

    本项目是利用栈来实现一个简单的计算器,不支持括号表达式的计算,其用户界面是通过Java Swing库构建的。下面将详细介绍这个计算器的实现原理以及涉及到的相关知识点。 1. **栈的基本概念**: 栈是一种线性数据...

    java中的栈(深层了解java虚拟机对对象的内存分布)

    栈中的一个重要特性是它可以共享数据。例如,在代码`int a = 3; int b = 3;`中,尽管定义了两个不同的整型变量a和b,但由于它们引用的是同一个字面值3,所以实际上只有一个存储空间。这种共享机制提高了内存效率,但...

    Java中堆内存与栈内存分配浅析

    当一个对象被创建时,其数据将被分配到堆内存中。堆内存的特点是动态分配,即对象的大小在创建时不确定,且对象的生命周期也较难预测。由于这些特性,堆内存的管理较为复杂,但同时也为Java应用程序提供了极大的灵活...

    线性链表,栈(java版)代码

    每个元素称为节点,包含两部分:数据域存储实际的数据,指针域存储指向下一个节点的引用。链表的最后一个节点的指针域通常为null,表示链表的结束。线性链表有单链表和双链表两种形式,单链表只能向前遍历,双链表则...

    栈的java版演示栈的java版演示栈的java版演示

    创建一个栈非常简单,只需如下代码: ```java Stack<Integer> stack = new Stack(); ``` 2. **基本操作** - **压栈(push)**: 向栈顶添加元素。 ```java stack.push(1); ``` - **弹栈(pop)**: 移除并...

    简单java计算器课程设计

    在“简单Java计算器课程设计”项目中,我们主要探讨的是如何使用Java编程语言来实现一个基本的四则运算计算器。这个课程设计的目标是让学生掌握Java编程基础,理解面向对象编程的概念,并能实际应用到实际问题解决中...

    java模拟顺序栈实现回文串的判断

    在Java中,我们可以使用`java.util.Stack`类来创建一个栈,或者简单地用数组模拟栈的操作。 以下是使用栈判断回文串的基本步骤: 1. 创建一个空栈,用于存储字符串的字符。 2. 遍历输入字符串的每个字符,将它们...

    java使用栈进行压栈和弹出操作

    创建一个栈对象非常简单,如下所示: ```java import java.util.Stack; Stack<Integer> stack = new Stack(); ``` 1. **压栈操作**:压栈,即向栈顶添加元素,可以使用`push()`方法完成。在给定的描述中,我们...

    两个栈的简单计算java

    简单的计算

    java实现顺序栈

    使用上述`SeqStack`类,我们可以编写一个简单的测试程序来验证其功能。 ```java public static void main(String[] args) { SeqStack<Integer> stack = new SeqStack(); stack.push(1); stack.push(2); stack....

    j# java计算器 四则运算 栈

    这个项目是一个简单的计算器程序,它使用了J#这一微软推出的.NET框架下的Java方言来实现,同时具备基本的四则运算功能。而这些运算的实现方式是通过栈这种数据结构来完成的。 首先,J#是Microsoft推出的一种兼容...

    Java中堆内存和栈内存详解

    每当调用一个方法时,都会在栈上创建一个新的栈帧来保存该方法的信息,如局部变量、参数和返回地址等。 - **堆空间**:堆是所有线程共享的一块内存区域,用于存储对象的实例。JVM通过垃圾回收机制自动管理堆内存,...

    java中LinkedList集合类实现栈和队列.doc

    在Java编程语言中,LinkedList集合类是一个非常重要的数据结构,它可以用来实现栈和队列这两种特殊的数据结构。LinkedList是一个双链表,每个节点包含数据元素和两个引用,分别指向前后节点,这使得在列表中进行插入...

    线性表,单链表,栈 java实现

    线性表中的元素具有顺序关系,即每个元素都有一个前驱和后继,除了第一个元素没有前驱,最后一个元素没有后继。线性表的操作通常包括插入、删除、查找等。 在Java中,线性表可以使用数组或链表来实现。数组实现简单...

    简单网上书店(JAVA)

    【标题】"简单网上书店(JAVA)"是一个基于JAVA技术实现的小型网上书店项目,它展示了如何使用JAVA技术栈来构建一个完整的Web应用程序。这个项目包括了源代码、需求分析文档、数据库脚本以及系统表结构设计,为学习...

    5个简单的Java web商城项目,毕业设计

    - `JavaWEB商城项目.zip`可能是另一个基于Java Web的商城实现,可能使用了特定的技术栈,如Spring Boot和MyBatis。 - `master.zip`可能包含了项目的主分支代码,可能是一个完整的商城解决方案,包含前端和后端。 ...

    顺序栈通常使用数组来实现,其特点是在栈底预先分配好一块存储空间,栈顶指针指向栈顶元素 以下是一个简单的Java实现:.txt

    在这个实现中,类中定义了一个Object数组`stack`来存储栈元素,一个整型变量`top`作为栈顶指针,以及一个整型变量`maxSize`表示栈的最大容量。类的构造函数接收一个整型参数来初始化栈的最大容量。 具体的方法实现...

Global site tag (gtag.js) - Google Analytics