`
tonyJ
  • 浏览: 145137 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Java实现 栈

阅读更多
package date0609;

/**
 *@author TonyJ
 *@time 2011-6-9 下午03:18:00
 */
public class Test01 {
	private long arr[];
	private long temparr[];
	private int maxSize;//栈的最大容量
	private int top;//栈顶标志

	public Test01(int s) {
		maxSize = s;
		arr = new long[s];
		top = -1;
	}

	public void push(long data) {//数据入栈
		if (top < maxSize-1) {
			arr[++top] = data;
		} else {//扩容栈空间
			maxSize = maxSize * 2;
			temparr = new long[maxSize];
			System.arraycopy(arr, 0, temparr, 0, maxSize/2);
			arr=temparr;
			arr[++top] = data;
		}
	}

	public long pull() {//数据出栈
		return arr[top--];
	}

	public long peek() {//取得栈顶元素
		return arr[top];
	}

	public boolean isEmpty() {//判断是栈否为空
		return top == -1;
	}

	public boolean isFull() {//判断栈是否已满
		return top == maxSize - 1;
	}

	public static void main(String[] args) {
		Test01 t = new Test01(4);
		t.push(1);
		t.push(2);
		t.push(3);
		t.push(4);
		t.push(5);
		t.pull();
		while(!t.isEmpty()){
			System.out.print(t.pull()+",");
		}
	}
}

分享到:
评论

相关推荐

    Java实现栈的基本操作

    Java实现栈的基本操作

    java 栈的实现和应用

    2. **Stack类**:Java标准库中的`java.util.Stack`类也是实现栈的一个选项。它是`Vector`类的子类,因此具有线程安全的特性。但通常,由于其性能较低,推荐使用`ArrayDeque`。使用`Stack`类的示例如下: ```java ...

    用Java实现栈的所有操作,并用栈实现几个常见算法题

    用Java实现栈的所有操作,并用栈实现几个常见算法题

    Java实现栈和队列面试题

    以上就是Java实现栈和队列面试题的主要内容。理解和熟练掌握这些知识点对于Java开发者来说至关重要,因为它们涉及到基础数据结构的运用,能够反映候选人在解决实际问题时的逻辑思维和算法能力。在面试中,候选人可能...

    java数据结构之java实现栈

    Java 数据结构之 Java 实现栈 Java 数据结构实现栈是 Java 编程语言中的一种基础数据结构。栈是一种抽象数据类型,遵循 FILO(First In Last Out,先进后出)原则,即最后入栈的元素最先出栈。栈的实现有多种方式,...

    用Java语言实现栈的功能

    实现弹栈,进栈,判断栈是否为空或满等功能 Java入门的简单程序

    用java通过接口实现栈和队列

    使用java实现栈和队列,通过接口实现多态

    用Java实现一个栈

    用Java实现一个栈

    Java用栈实现的计算器

    Java提供了`java.util.Stack`类来实现栈。它继承自`Vector`类,因此提供了丰富的线程安全的方法,如`push()`, `pop()`, `peek()`等。在这个计算器项目中,我们可以创建一个栈对象来存储数字和运算符。 3. **表达式...

    用java实现的栈Stack类

    用java实现的栈Stack类,不继承任何集合类,用对象数组实现

    栈的Java语言实现

    ### 栈的Java语言实现详解 #### 一、栈的基本概念 栈是一种特殊的线性表,只允许在表的一端...这些内容不仅有助于理解栈的工作原理,还能帮助读者掌握栈的Java实现技巧,为进一步学习算法和数据结构打下坚实的基础。

    java实现的算术表达式,带简单界面

    在标签中提到了“java 栈”,这暗示了项目的核心部分是如何使用Java实现栈数据结构。在Java中,除了ArrayList,还可以使用LinkedList等数据结构来实现栈。不过,ArrayList通常在空间效率和快速访问上更有优势,因此...

    java栈实现计算器中缀表达式

    java数字栈和符号栈模拟计算器(中缀表达式) “计算中缀表达式”可以称得上是一个特别经典的关于栈的算法题,几乎在所有数据结构教材中都会涉及,而且很多公司面试或者笔试的时候都会把这道题作为一个考察点。可以说...

    java sip 协议栈实现客户端和服务

    3. 如何使用Java实现SIP客户端和服务器端。 4. Eclipse开发环境的使用和调试技巧。 5. Ant构建工具的使用。 6. 日志记录和调试技术。 7. 依赖管理和库的引入。 此外,还可以深入了解网络编程、多线程处理、异常处理...

    java实现的顺序栈

    java实现的顺序栈,部分代码:public class OrderStack { int top=-1; String[] stack; public OrderStack(int initcap)throws Exception{ if(initcap){

    Java定义栈结构,并实现入栈、出栈操作完整示例

    栈可以使用数组或链表实现,本文使用 ArrayList 实现栈结构。 栈结构的定义包括以下几个部分: * 入栈(push):将元素添加到栈顶 * 出栈(pop):将栈顶元素取出 * 栈是否为空(isEmpty):判断栈是否为空 * 栈...

    java实现顺序栈

    Java实现顺序栈是一种常见的数据结构操作,主要用于存储和管理元素序列。栈是一种后进先出(LIFO,Last In First Out)的数据结构,通常用于执行回溯、递归等算法。在Java中,我们可以使用数组或ArrayList来实现顺序...

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

    下面将详细解释这些概念及其Java实现。 **线性表** 是一种基本的数据结构,它是由n(n&gt;=0)个相同类型元素构成的有限序列。线性表中的元素具有顺序关系,即每个元素都有一个前驱和后继,除了第一个元素没有前驱,...

    java实现的栈(通过数组)

    java api 中也有stack,这个是根据stack的特性编写出来的; 此程序在功能上和java提供的功能是一样的,只是实现的方法不一样;

Global site tag (gtag.js) - Google Analytics