难点: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;
}