栈
来源:互联网 发布:mac版的rar 解压软件 编辑:程序博客网 时间:2024/06/08 11:42
栈是什么?举个例子,小时候家里烧的煤球,大人总是把煤球一个个放进炉子里,当最下层的煤球烧完时,也是用夹子从最上面的开始,一个一个将煤球拿出来,这就是栈,先进后出,后进先出(除非底漏了,那是队列,哈哈)。大部分微处理器都是基于栈的原理,还有一些老式的计算器。
将元素插入栈中,叫入栈,将元素从栈中取出,叫出栈。
下面我们用数组来实现栈:
public class Stack { private int size;//栈的容量 private long[] arrayStack; private int top;//栈顶元素位置 public Stack(int s){ size = s;//栈的容量 arrayStack = new long[size];//创建栈 top = -1;//初始化栈顶元素,此时栈为空 } public void push(long value){ arrayStack[++top] = value;//入栈,先top加1,再arrayStack[top] } public long pop(){ return arrayStack[top--];//出栈 } public long peek(){ return arrayStack[top];//查看栈顶元素 } public boolean isEmpty(){ return top == -1;//判断栈是否为空 } public boolean isFull(){ return top == size - 1;//判断栈是否满 } public static void main(String[] args) { Stack stack = new Stack(10); stack.push(1); stack.push(3); stack.push(5); stack.push(7); System.out.println("栈顶元素为:"+stack.peek()); while(!stack.isEmpty()){ System.out.println(stack.pop()+"出栈! "); } }}
运行结果为:
栈顶元素为:77出栈! 5出栈! 3出栈! 1出栈!
阅读全文
0 0
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- 栈
- Restful Api写法心得之三《返回值篇》
- test
- ABB开发学习笔记
- Colossal Fibonacci Numbers! UVA
- ccf刷题记02
- 栈
- HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别
- 176. Second Highest Salary
- Android 设计模式之观察者模式
- 2.2.9同一个类的不同静态方法不同实例不同线程是同步的
- 疫苗:JAVA HASHMAP的死循环
- linux命令详解(cp命令)
- CodeForces 158E Phone Talks dp
- Python基础笔记