`
chaoyi
  • 浏览: 309680 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Stack类

 
阅读更多

本章目标
掌握栈的操作原理
掌握Stack类中提供的入栈及出栈操作


栈是采用先进后出的数据存储方式,每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出
——入栈:

 ——出栈:

 

Stack类
在Java中使用Stack类进行栈的操作,Stack类是Vector的子类,Stack类的定义如下:
——public class Stack<E> extends Vector<E>

 

Stack类的常用方法

 

完成入栈及出栈程序

import java.util.Stack;
public class StackDemo {
	public static void main(String[] args) {
		Stack<String> s = new Stack<String>();//实例化 Stack 对象
		s.push("A");//入栈
		s.push("B");//入栈
		s.push("C");//入栈
		System.out.println(s.pop()+"、");//入栈
		System.out.println(s.pop()+"、");//出栈
		System.out.println(s.pop()+"、");//出栈
		System.out.println(s.pop()+"、");//错误,出栈,出现异常,栈为空
	}
/* 结果:
 * C、
 * B、
 * A、
 * Exception in thread "main" java.util.EmptyStackException
 * 	at java.util.Stack.peek(Stack.java:85)
 * 	at java.util.Stack.pop(Stack.java:67)
 * 	at J031315.StackDemo.main(StackDemo.java:14)
 * */
}

 

 

 

  • 大小: 23.5 KB
  • 大小: 17.9 KB
  • 大小: 14 KB
分享到:
评论

相关推荐

    数据结构——利用 Stack类 为其设计外部函数 delete_all功能

    2. 利用教材中的Stack类,为其设计外部函数(非成员函数)实现下面delete_all功能,必要时可以使用临时的Stack对象。编写主函数测试delete_all函数,栈元素设定为字符类型即可。 template void delete_all(Stack&lt;T&gt;...

    用java实现的栈Stack类

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

    利用教材中的Stack类

    根据给定文件的信息,本文将围绕“利用教材中的Stack类”这一主题展开,重点介绍如何设计外部函数(非成员函数)实现删除栈中所有特定元素的功能,并通过一个示例程序来展示具体操作。 ### 一、Stack类简介 在本...

    c语言实现的stack类数据结构的操作

    以下是对“c语言实现的stack类数据结构的操作”的详细解释: 首先,栈的基本操作包括: 1. **初始化**:创建一个空栈,通常会设置栈顶指针为-1或NULL,表示栈为空。 2. **压栈(Push)**:将元素添加到栈顶,这涉及...

    Java的Stack类

    自己写了一个Java的Stack类,并与原有的Stack比较

    C++ 实现堆栈stack类模板

    实现堆栈stack类模板,类模板的模型为:堆栈按数组索引减小的方向增长.

    用c++模版实现的stack类

    用c++模版实现的stack类,供初学者学习。 template ,int N&gt; class Stack { public: Stack(); ~Stack(); void push(T t); T pop(); bool isEmpty(); private: T *m_pT; const int m_maxSize; ...

    stack类模板源代码

    本文将深入解析`stack`类模板的源代码,帮助你理解和运用这个重要的数据结构。 首先,`stack`并不是一个独立的类,而是通过适配器模式,利用了`deque`、`list`或`vector`等其他容器的特性。默认情况下,`stack`通常...

    c++ Stack 类的模板实例

    在这里,我们将深入探讨C++中的`Stack`类模板,以及如何通过实例来理解和使用它。 首先,C++标准库提供了`&lt;stack&gt;`头文件,其中定义了`stack`容器适配器。`stack`不是一个独立的数据结构,而是基于其他容器(如`...

    吕鑫:【C++语法与数据结构第14天】【第3堂课】栈CStack类的数据结构(面试题)

    1、演示使用std::sort函数在动态数组内部排序的过程; 2、介绍和演示栈类CStack类的原理和开发方法;

    Java中Vector类和Stack类的学习_.docx

    Java中的`Vector`类和`Stack`类是两种在多线程环境中常用的数据结构,它们都属于`java.util`包,提供了线程安全的操作。这两个类在早期的Java版本中非常常见,但在现代Java开发中,由于性能和设计考虑,它们的使用...

    Stack-栈实例

    1. 创建一个链表节点类,包含数据和指向下一个节点的指针。 2. 定义栈的头部,即栈顶,初始为空。 3. 压栈时,在链表头部插入新节点。 4. 弹栈时,删除头部节点并返回其数据。 5. 查看栈顶元素时,只需访问链表头部...

    Java中Vector类和Stack类的学习

    Stack类** `Stack`类继承自`Vector`,它提供了一个后进先出(LIFO)的数据结构,类似于物理堆栈。主要方法包括: - **push**: 将一个元素压入栈顶。 - **pop**: 弹出栈顶元素。 - **peek**: 查看但不移除栈顶元素...

    stack及其类的实现

    stack类及其实现是基本的对堆栈的定义以及操作。

    应用.NET类库中的栈类Stack完成十进制转换成二进制、八进制、十六进制。要求应用 Windows窗体程序设计实现,界面美观,功能完善。

    #### 一、.NET框架中的Stack类 在.NET框架中,`Stack`类属于`System.Collections`命名空间,用于存储对象集合,并按后进先出(LIFO, Last In First Out)的原则操作这些元素。在本案例中,`Stack`类被用来实现将十...

    java堆栈类使用实例(java中stack的使用方法)

    以下是一些关于Java Stack类的重要知识点: 1. **构造方法**: - `public Stack()`:这个无参构造器用于创建一个空的Stack实例。 2. **主要方法**: - `public void push(Object item)`:将指定的`item`压入栈顶...

    JS栈stack类的实现与使用方法示例

    4. 测试Stack类:通过在控制台打印操作结果来验证Stack类的功能。例如,连续push三个元素后,可以通过length方法确认栈中元素数量,通过peek方法查看栈顶元素,通过pop方法移除栈顶元素并再次查看栈顶元素,最终通过...

    java中慎用继承 以及java中的stack的败笔

    本文将深入讨论Java中继承的优缺点,以及在特定情况下如何避免使用继承,同时探讨`java.util.Stack`类的设计问题。 继承是面向对象编程中的一个核心概念,主要目的有三个:代码重用、规范制定和实现多态。通过继承...

    Java数据结构实现之Stack.zip

    2. **Stack类** Java.util.Stack是早期版本的Java提供的一个栈实现,它继承自Vector类。尽管它提供了一组栈操作方法,如`push()`, `pop()`, `peek()`等,但由于Vector的线程安全和同步开销,Stack的性能并不理想。...

Global site tag (gtag.js) - Google Analytics