`
这些年
  • 浏览: 399863 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

栈的简单实现

 
阅读更多

栈是限定公在表尾进行插入和删除操作的线性表

代码:

public class Stack {
	Object[] container;
	int top = 0;

	public Stack(int size) {
		if (size > 0) {
			container = new Object[size];
		} else {
			throw new RuntimeException();
		}
	}

	public Stack() {
		container = new Object[10];
	}

	public void push(Object o) {
		if (top < container.length ) {
			container[top] = o;
			top++;
		} else {
			throw new ArrayIndexOutOfBoundsException("数组满了");
		}
	}

	public Object pop() {
		if (top < 0) {
			throw new ArrayIndexOutOfBoundsException("数组空了");
		}
		return container[--top];
	}
	
	public static void main(String[] args) {
		Stack s =new Stack();
		for(int i=0;i<10;i++){
			s.push(i);
		}
		for(int i=0;i<10;i++){
			System.out.println(s.pop()); 
		}
	}
}

 

分享到:
评论

相关推荐

    java 栈的实现和应用

    总结来说,Java提供了多种方式来实现和使用栈,无论是简单的`ArrayDeque`还是传统的`Stack`类,都能满足不同场景下的需求。栈作为一种基础数据结构,其灵活性和效率使其在编程中扮演着至关重要的角色。通过熟练掌握...

    基于栈的简易计算器实现(C)

    在编程领域,基于栈的简易计算器是一种常见的实现方式,它主要应用于解析和计算简单的算术表达式。本文将深入探讨如何使用C语言实现这样一个计算器,同时也会涉及栈数据结构、泛型编程以及递归下降分析等核心概念。 ...

    栈实现计算器(C语言实现)

    栈在许多应用场景中都发挥着关键作用,尤其是在实现复杂计算逻辑时,如计算器的运算过程。本篇将详细介绍如何使用C语言实现一个基于栈的计算器。 首先,我们需要理解栈的基本操作:入栈(push)、出栈(pop)、查看...

    栈的实现和应用(实验报告+代码)

    顺序栈通常是在内存中连续分配的一段空间来存储元素,它的优点是操作简单,插入和删除操作(push和pop)的时间复杂度为O(1)。在C++中,我们可以使用动态数组来实现顺序栈。关键在于维护栈顶指针,以便知道当前栈顶...

    用链式栈实现简易计算器

    在这个“用链式栈实现简易计算器”的项目中,开发者利用C++(混入少量C语言特性)构建了一个功能丰富的计算器,支持多种数学运算。下面将详细阐述链式栈的原理及其在实现计算器中的应用。 首先,链式栈与顺序栈...

    简单栈算法实现

    关于入栈、出栈、查看栈顶、判断栈是否为空等等最简单的实现

    利用栈原理实现简易四则运算计算器

    在本项目中,“利用栈原理实现简易四则运算计算器”涉及到以下几个关键知识点: 1. **栈(Stack)**:栈是一种线性数据结构,其中元素的添加和删除操作(称为压入和弹出)只在栈顶进行。栈的基本操作包括压栈(push...

    栈的实现顺序栈

    栈的顺序栈形式,简易的实现,push() pop() top() size() empty()

    栈的实现及应用,六种基本算法

    2、掌握在顺序栈上实现的六种基本算法。 2、掌握顺序栈的简单应用。 利用顺序栈将一个非负的十进制整数N转换为对应的B进制数。 [基本要求]非负的十进制整数N和B都从键盘输入;转换结果从屏幕输出。

    c语言用栈实现计算器功能

    总之,使用C语言和栈数据结构实现计算器功能是一个很好的实践项目,它可以帮助开发者巩固对数据结构、逻辑思维和算法的理解,同时也能提升实际编程能力。在实现过程中,通过不断优化和调试,可以逐步提高代码的效率...

    C例子:栈C语言实现

    本示例将详细介绍如何用C语言实现一个简单的栈。 首先,我们来看`Ex015_Stack2.h`头文件。这个头文件通常包含栈的数据结构定义以及相关的函数声明。在C语言中,我们可以使用结构体来表示栈。结构体可能包含一个数组...

    C++实现用栈实现队列的功能

    标题“C++实现用栈实现队列的功能”表明我们将使用C++编程语言,通过创建两个栈来实现队列的主要功能:入队(enqueue)和出队(dequeue)。这种方法的思路是,一个栈用于入队操作,另一个栈用于出队操作,以此来克服...

    数据结构栈实现进制的转换

    在这个例子中,我们使用了一个简单的循环来实现十进制到十六进制的数据转换。这个循环的时间复杂度为O(logn),其中n是十进制数的值。这个算法的空间复杂度为O(1),因为我们只需要使用一个栈来存储中间结果。 在实现...

    数据结构栈实现表达式求值

    ### 数据结构栈实现表达式求值 #### 一、引言 在计算机科学领域,数据结构是存储和组织数据的一种特殊方式,它不仅能够提高算法的效率,还能够简化复杂问题的解决过程。栈是一种非常重要的线性数据结构,遵循后进先...

    顺序栈入栈出栈实现源码

    ### 顺序栈入栈出栈实现源码解析 #### 一、基础知识介绍 在计算机科学领域,栈(Stack)是一种非常重要的线性数据结构之一,它遵循...同时,代码还提供了简单的用户交互界面,使得用户能够直观地控制栈的操作流程。

    栈原理实现计算器

    本篇将详细介绍如何利用栈的这一特性来实现一个简单的计算器。 首先,我们需要理解栈的基本操作:压栈(push)和弹栈(pop)。压栈是指将元素添加到栈顶,而弹栈则是从栈顶移除元素。栈还支持查看栈顶元素但不移除...

    栈和队列的应用实验 利用栈实现中缀表达式与前缀表达式的转换

    2、掌握顺序栈的简单应用。 二、 实验内容 1、实现一个栈数据结构。 2、利用栈实现中缀表达式与前缀表达式的转换。 三、相关内容介绍 标准的表达式如"A+B",在数学上学名叫中缀表达式(Infix Notation),原因是...

    利用栈实现逆置单链表

    ### 利用栈实现逆置单链表 在计算机科学中,数据结构是研究的核心之一。其中,链表和栈是非常基础且重要的两种数据结构。本文将详细介绍如何使用栈来实现单链表的逆置。 #### 一、基础知识回顾 在深入探讨之前,...

    数据结构 栈的实现(c语言版)

    以下是一个简单的C语言实现栈的示例: ```c #include #include typedef struct { int* data; int capacity; int size; } Stack; Stack* createStack(int capacity) { Stack* stack = (Stack*)malloc(sizeof...

    顺序栈的表示和实现源码

    顺序栈是一种常见的数据结构,它遵循“后进先出”(LIFO)的原则。在顺序栈中,元素存储在一块连续的内存区域中,通过数组或动态数组来实现。...顺序栈简单易懂,效率高,适用于许多算法和数据处理场景。

Global site tag (gtag.js) - Google Analytics