链栈的实现LinkStack

本文介绍了如何在Java中实现链栈,强调了在没有指针的情况下如何利用引用实现链栈的数据结构。文章涵盖链栈的设计要求和步骤,包括节点类的创建、栈顶节点的引用保存以及链栈的基本操作如插入、弹出、判空、获取栈顶元素、获取长度和清空等。同时,提供了具体的Java实现代码。
摘要由CSDN通过智能技术生成

难点:java中没有指针,只有引用,理解并合理运用引用

 

一、链栈的算法设计要求和步骤:

1、链栈是栈的实现形式之一:必须满足栈的后入先出特点

2、设计一个内部类作为链上的每个节点(节点类)

3、每个节点需要保存之前一个节点(nodenext)的引用(地址)和当前的元素值(value)

4、链栈类中只需保存栈顶的节点地址(引用),和单链表的长度

 

二、基本操作

插入(push(<type> value))

弹出(pop())

判空(isEmpty())

获取栈顶元素值(getTopValue())

获取长度(getSize())

清空(clear())

遍历栈(print())

 

三、java实现

  //实现类

public class LinkStack<DataType> {
    private int size;
    private Node top; //头结点

    public LinkStack(){
        size = 0;
        top = null;
    }

    class Node<DataType>{
        private Node nodenext = null;
        private DataType value;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值