/**
* Stack.java
* 线性表之栈
* 栈的特点:
* 先进后出
* 即, 从头部加入(push)一个新数据
* 从头部取出(pop)一个数据
*/
package line;
/**
* @author sunxboy
* 9:59:52 AM May 22, 2007
*/
public class Stack {
int[] data;
int maxSize;
int top;
public Stack(int maxSize) {
this.maxSize = maxSize;
data = new int[maxSize];
top = -1;
}
/**
* 依次加入数据
* @param data 要加入的数据通信
* @return 添加是否成功
*/
public boolean push(int data) {
if(top+1== maxSize) {
System.out.println("栈已满!");
return false;
}
this.data[++top] = data;
return true;
}
/**
* 从栈中取出数据
* @return 取出的数据
*/
public int pop() throws Exception{
if(top==-1) {
throw new Exception("栈已空!");
}
return this.data[top--];
}
public static void main(String[] args) throws Exception {
Stack stack=new Stack(1000);
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
while(stack.top>=0)
{
System.out.println(stack.pop());
}
}
}
分享到:
相关推荐
线性表、堆栈、队列实现源码,C++实现,如果有问题请大家给我留言http://blog.csdn.net/tiandixuanwuliang
顺序存储的线性表和运算 链式存储的线性表和运算 顺序栈的实现和运算 链栈的实现和运算 顺序队列的实现和运算 链式队列的实现和运算 循环队列的实现和运算
数据结构课程资源 包括单链表 双链表 堆栈 二叉树 等程序编写。有利于学习数据结构知识 该资源为程序文件,可直接运行,调试无误。
线性表是一种常用的数据结构,在计算机内存中通常采用顺序存储或链式存储来实现。 1.设计一个线性表基类和两个派生类,这两个派生类分别以顺序存储(数组)和链式存储(单链表)的方式实现...2.利用线性表类实现堆栈类
1、实现链式堆栈相关API函数 2、泛型编程思想 3、实体数据可以是基本类型或者复合类型 4、遍历时,使用回调函数。实现“策略”与“机制”分离 5、使用动态内存,保存链表节点及用户数据
数据结构重要代码(查找 堆栈 排序)
本文实例讲述了PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器。分享给大家供大家参考,具体如下: 栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的在最底层,后放进去...
堆栈、线性表相关函数:链和数组实现队列类、 栈类,并有对应的应用——车站调度以及中缀后缀表达式的分析。
栈的链式存储与实现。采用链式存储的方式实现栈,并实现了一些基本功能,包括创建、销毁、清空、出栈、入栈等一些常规的操作。其中包含的头文件dm02_linklist.h保存在《线性表的链式存储与实现》资源中。
――课程内容体系主要内容 教学单元模块 具体教学内容 绪论 绪论部分是全书的预备知识,主要对ADL语言、数据结构与算法、算法分析基础、OOP、和C++做了简单介绍 基本数据结构 基本数据结构部分包括线性表、堆栈与...
说明单链表是线性表的链式存储实现 (65) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B) 注:P73 A. 模块间的关系 B. 系统结构部件转换成软件的过程描述 C. 软件层次结构 D. 软件开发过程...
堆栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。允许插入或删除操作的一端称为栈顶,另一端称为栈底,对堆栈的插入和删除操作被称为入栈和出栈。有一组CPU指令可以实现对进程的内存实现...
内容和要求 单链表操作 和 栈、队列的... 4)定义一个顺序栈和循环队列,实现将队列中所有元素逆置。 实验数据:1)线性表为 6,2,11,5,2,4,2; 2)x=2; 3) k=5 或 k=10; 4)队列中的数据为 1,2,3,4,5,6
常用数据结构和算法的实现及测试 1)数据结构包括:堆栈 队列 线性表 链表 2)算法包括:冒泡排序 选择排序 插入排序 希尔排序 归并排序 快排 堆排序 3)其他:随机数产生 计时器的实现
队列和堆栈一样,是一种操作受限制的线性表,和堆栈不同之处在于:队列是遵循“先进先出”原则,而堆栈遵循的是“先进后出”原则。队列进行插入操作的端称为队尾,进行删除操作的称为队头,只允许在队尾进行插入操作...
分别设计实现线性表、单链表、队列和堆栈类,并对所编写的类进行运行测试
5、堆栈 掌握堆栈的差不多概念、差不多操作和实现方法。 掌握括号匹配、离线等价类的实现思想。 6、队列 掌握队列的差不多概念、差不多操作和实现方法。 7、跳表和散列 了解跳表的差不多概念、差不多操作和实现方法...
【第2章】 线性表 线性表抽象数据类型 顺序表 单链表 循环单链表 循环双向链表 静态链表 设计举例 【第3章】 堆栈和队列 堆栈 堆栈应用 队列 队列应用 优先级队列 【第4章】 串 串的基本概念和C语言的串函数 串的...
数据结构指导丛书,数据结构算法分析,关于线性表,链表,堆栈,队列,二叉数的操作实现。
2.6.1 实现线性表顺序存储结构及运算的C语言源程序 2.6.2 单链表处理的C语言源程序 习题二 第3章 栈和队列 3.1 栈 3.1.1 栈的定义及其运算 3.1.2 栈的顺序存储结构(向量) 3.1.3 栈的链表存储结构 3.1.4 栈...