栈(stack)又名堆栈,它是一种运算受限的线性表,后进先出(LIFO)。
其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。
向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;
从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
———————————————————————————
基于数组来实现栈结构:
规定: 最后一个位置是栈顶.
索引为0的位置就是栈底.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | package com._520it.stack; import com._520it.array.MyArrayList; //栈 public class MyStack extends MyArrayList{ //int size = 0; //入栈操作 public void push(Object ele ){ this.add(ele); //size ++; } //删除栈顶元素 public void pop(){ int index = super.size-1; this.delete(index); } //查询栈顶元素 public Object search(){ int index = super.size-1; return super.getNum(index); } public static void main(String[] args) { MyStack s = new MyStack(); s.init(5); s.push("a"); s.push("b"); s.push("c"); s.push("d"); s.push("e"); s.push("f"); s.print(); s.pop(); s.print(); Object a = s.search(); System.out.println(a); } } |
声明:
本文采用
BY-NC-SA
协议进行授权,如无注明均为原创,转载请注明转自
个人编程学习网
本文地址: Java-栈:stack
本文地址: Java-栈:stack
您必须 登录 才能发表评论