`

线性表之堆栈的实现

阅读更多
/**  
 * 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

    线性表操作 栈和队列的应用 多维数组和串

    顺序存储的线性表和运算 链式存储的线性表和运算 顺序栈的实现和运算 链栈的实现和运算 顺序队列的实现和运算 链式队列的实现和运算 循环队列的实现和运算

    数据结构课程作业 单链表 双链表 线性表 堆栈 等课程编程作业

    数据结构课程资源 包括单链表 双链表 堆栈 二叉树 等程序编写。有利于学习数据结构知识 该资源为程序文件,可直接运行,调试无误。

    线性表(read write)

    线性表是一种常用的数据结构,在计算机内存中通常采用顺序存储或链式存储来实现。 1.设计一个线性表基类和两个派生类,这两个派生类分别以顺序存储(数组)和链式存储(单链表)的方式实现...2.利用线性表类实现堆栈类

    数据结构-链式堆栈

    1、实现链式堆栈相关API函数 2、泛型编程思想 3、实体数据可以是基本类型或者复合类型 4、遍历时,使用回调函数。实现“策略”与“机制”分离 5、使用动态内存,保存链表节点及用户数据

    数据结构重要代码(查找 堆栈 排序)

    数据结构重要代码(查找 堆栈 排序)

    PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例

    本文实例讲述了PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器。分享给大家供大家参考,具体如下: 栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的在最底层,后放进去...

    Chapter4-Src_堆栈_

    堆栈、线性表相关函数:链和数组实现队列类、 栈类,并有对应的应用——车站调度以及中缀后缀表达式的分析。

    栈的链式存储与实现.

    栈的链式存储与实现。采用链式存储的方式实现栈,并实现了一些基本功能,包括创建、销毁、清空、出栈、入栈等一些常规的操作。其中包含的头文件dm02_linklist.h保存在《线性表的链式存储与实现》资源中。

    《数据结构与算法分析》.txt

    ――课程内容体系主要内容 教学单元模块 具体教学内容 绪论 绪论部分是全书的预备知识,主要对ADL语言、数据结构与算法、算法分析基础、OOP、和C++做了简单介绍 基本数据结构 基本数据结构部分包括线性表、堆栈与...

    计算机二级C语言考试题预测

    说明单链表是线性表的链式存储实现 (65) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B) 注:P73 A. 模块间的关系 B. 系统结构部件转换成软件的过程描述 C. 软件层次结构 D. 软件开发过程...

    C++中的内存分布详解

    堆栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。允许插入或删除操作的一端称为栈顶,另一端称为栈底,对堆栈的插入和删除操作被称为入栈和出栈。有一组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)其他:随机数产生 计时器的实现

    详解PHP队列的实现

    队列和堆栈一样,是一种操作受限制的线性表,和堆栈不同之处在于:队列是遵循“先进先出”原则,而堆栈遵循的是“先进后出”原则。队列进行插入操作的端称为队尾,进行删除操作的称为队头,只允许在队尾进行插入操作...

    JAVA试验程序代码

    分别设计实现线性表、单链表、队列和堆栈类,并对所编写的类进行运行测试

    909数据结构.doc

    5、堆栈 掌握堆栈的差不多概念、差不多操作和实现方法。 掌握括号匹配、离线等价类的实现思想。 6、队列 掌握队列的差不多概念、差不多操作和实现方法。 7、跳表和散列 了解跳表的差不多概念、差不多操作和实现方法...

    数据结构—使用C语言(第4版)【朱战立-电子教案】

    【第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 栈...

Global site tag (gtag.js) - Google Analytics