java栈的制作代码是怎样的?java 栈实现

KLQ 2020-06-10 10:11:25 java常见问答 3663

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工具网的常见问题栏目来了解吧。

推荐阅读:

java栈和堆的区别是什么?java对于堆和栈的理解

java栈存放什么?java堆存放什么?

java继承例子代码,java类的继承示例