java代码怎样实现栈呢?java栈的制作代码又是怎样的?下面就一起和小编来了解一下这方面的内容吧!
一、java栈实现
package test; public class stack { private int maxSize; // 栈的大小 private int top; private char[] arr; public stack(int size) { maxSize = size; top = -1; arr = new char[maxSize]; } public void push(char value) { // 压入数据 arr[++top] = value; } public char pop() { // 弹出数据 return arr[top--]; } public char peek() { // 访问栈顶元素 return arr[top]; } public boolean isFull() { // 栈是否满了 return maxSize - 1 == top; } public boolean isEmpty() { // 栈是否为空 return top == -1; } }
栈实现字符串的倒叙输出
package test; public class Reverse { String input; public Reverse(String input) { this.input = input; } public String doReverse() { stack s = new stack(input.length()); for (int i = 0; i < input.length(); i++) { s.push(input.charAt(i)); } String output = ""; while (!s.isEmpty()) { output += s.pop(); } return output; } }
测试
@Test public void fun() { Reverse r = new Reverse("人国中是我"); System.out.println(r.doReverse()); }
链式
package test; import java.util.LinkedList; public class stack1 { private LinkedList < Object > a = new LinkedList < Object > (); public void push(Object o) { a.addFirst(o); } public Object pop() { return a.removeFirst(); } public Object peek() { return a.getFirst(); } public boolean empty() { return a.isEmpty(); } }
延伸阅读
二、java栈定义
下面再来和大家详细的介绍一下java栈。
栈是一种数据结构,同时,它也是一种只可以在一端进行插入和删除操作的特殊线性表。
栈依据后进先出的原则存储数据。
先进入的数据被压入栈底,最后的数据在栈顶,要读数据时,从栈顶开始弹出数据。
栈有着记忆作用,对于栈的插入和删除操作当中,不要去改变栈底指针。
栈是可以在同一端进行插入和删除操作的特殊线性表。
允许进行插入和删除操作的一端被叫做栈顶,另外一端被叫做栈底。
以上的内容就是对于java 栈实现的相关介绍了,你都了解吧。
更多关于java栈的基础知识,请继续来奇Q工具网的常见问题栏目来了解吧。
推荐阅读: