`
sunwch
  • 浏览: 170095 次
  • 性别: Icon_minigender_1
  • 来自: free-town
社区版块
存档分类
最新评论

堆栈浅析

 
阅读更多

public class Stack {

long[] stackArr;
int nEleme;
int top;

// initialization
public Stack(int n){
this.nEleme = n;
stackArr = new long[this.nEleme];
top = -1;
}

// isEmpty
public boolean isEmpty(){
return (top == -1) ? true : false;
}

// push
public void push(int value){
if(isFull())
return;
stackArr[++top] = value;
}

// pop
public long pop(){
if(top < 0)
return 0L;
return stackArr[top--];
}

public int getSize(){
return nEleme;
}

public boolean isFull(){
return (top == nEleme) ? true : false;
}

public static void main(String[] args){
Stack sk = new Stack(5);
sk.push(10);
sk.push(20);
sk.push(30);
sk.push(40);
sk.push(50);
System.out.println(sk.isEmpty() + "\tSize=" + sk.getSize());
int size = sk.getSize();
for(int i=0;i<size;i++){
System.out.print(sk.pop() + "\t");
}
}
}
其为单通道数据输出,顺序为后进先出(LIFO)
分享到:
评论

相关推荐

    JavaScript错误处理和堆栈追踪浅析.doc

    JavaScript错误处理和堆栈追踪浅析.doc

    浅析C#编程中的内存管理

    当创建一个对象,如`new Customer()`,对象实例在托管堆中分配,而引用(如`Customer customer1`)在堆栈上分配,仅存储对象的地址。这样,即使方法返回,对象依然存活,直到没有引用指向它。引用类型的变量可以通过...

    深入浅析C语言中堆栈和队列

    堆栈是两种数据结构。 栈(栈像装数据的桶或箱子):是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同要取出放在箱子里面底下的东西(放入的比较早的物体),首先要移开压在它上面...

    浅析C语言中堆和栈的区别

    在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。 堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识...

    浅析栈溢出使用栈时,地址超出了栈的合法范围

    栈溢出详解 栈溢出是指在使用栈时,地址超出了栈的合法范围,而出现的一种异常。这种异常很容易出现在 C/C++ 语言中,原因是编译器不对数组的访问进行越界检查,而数组变量通常申请在栈上。 栈溢出的两种情况: ...

    通信与网络中的浅析ZigBee堆栈架构

    ZigBee堆栈架构是构建ZigBee网络的核心,它包含了多个层次,确保设备间的高效、安全和可靠通信。 1. **PHY层** (Physical Layer): 这一层定义了无线射频(RF)的物理特性,包括传输速率、频率范围等。IEEE 802.15.4...

    STM32 启动文件浅析_V1.2.pdf

    "STM32 启动文件浅析" STM32 启动文件是 ST 官方提供的,位于官方固件包中。该文件由汇编语言编写,是系统上电复位后第一个执行的程序。下面是对 STM32 启动文件的详细分析: 1. 启动文件简介 STM32 启动文件的...

    浅析windows进程调度

    【浅析Windows进程调度】 Windows操作系统中的进程调度是系统管理多任务并发执行的关键机制。本文主要探讨了进程调度的基本概念、进程的运行状态以及几种常见的调度算法。 首先,进程是操作系统中的基本执行单元,...

    浅析Digester

    【标题】:浅析Digester 在Java开发中,我们经常需要处理XML文件,解析XML并将其内容映射到相应的Java对象上。这时,Apache Commons Digester库就派上了用场。本文将深入探讨Digester的功能、工作原理以及如何在...

    ARM7的bootloader浅析

    ### ARM7的bootloader浅析 #### 1. 引言 Bootloader是嵌入式系统设计中的关键组件,类似于PC机的BIOS,在系统上电后至操作系统完全接管之前运行。它的主要职责包括初始化处理器、配置内存映射、初始化操作系统所需...

    KEIL C51可重入函数及模拟栈浅析

    本文较详细的介绍了keilc51可再入函数和模拟堆栈的一些概念和实现原理,通过一个简单的程序来剖析keilc51在大存储模式下可重入函数的调用过程,希望能为keilc51和在51系列单片机上移植嵌入式实时操作系统的初学者...

    C语言与汇编语言混合编程浅析

    ### C语言与汇编语言混合编程浅析 #### 摘要 本文旨在探讨C语言与汇编语言混合编程的基本原理和技术要点。首先,我们详细介绍了C程序调用汇编子程序时参数传递和寄存器使用的规则。其次,文章分析了这两种语言在...

    浅析ARM指令集及汇编

    ### 浅析ARM指令集及汇编 #### 一、ARM指令集概述 ARM处理器遵循RISC(Reduced Instruction Set Computer,精简指令集计算机)的设计原则,这意味着其指令集和解码机制相比传统的CISC(Complex Instruction Set ...

    Bootloader技术内幕浅析

    ### Bootloader技术内幕浅析 #### 1. 引言 在嵌入式系统的开发过程中,Bootloader扮演着至关重要的角色。它不仅是系统加电后运行的第一段代码,更是搭建起硬件与操作系统之间的桥梁。Bootloader的主要职责在于初始...

    浅析递归

    **标题:“浅析递归”** 递归是计算机科学中一种强大的编程技术,它通过函数或过程自身调用自身来解决问题。在标题“浅析递归”中,我们可以理解为探讨的是递归的基本概念、工作原理及其在实际编程中的应用。 **一...

    浅析ARM指令的寻址方式

    ### 浅析ARM指令的寻址方式 #### 摘要 本文主要针对ARM指令集中的寻址方式进行详细的解析。ARM指令集广泛应用于嵌入式系统开发中,尤其是在需要进行低级硬件控制的情况下,如系统初始化阶段。了解并掌握ARM指令的...

Global site tag (gtag.js) - Google Analytics