算法中的下压堆栈(链表实现)

链表在数据结构很重要,具体来说:

1、链表对首尾节点的操作和链表长度无关
2、链表占据内存大小和链表长度相关
3、可以处理任意的数据

具体代码如下

import java.util.Iterator;


public class LinkedStack<T> implements Iterable{
    private Node first;

    private int N = 0;
    private class Node{

        private T item;
        private Node next;
    }
    public boolean isEmpty(){
        return first==null;
    }

    public int Size(){
        return N;
    }

    public void push(T item){
        Node oldNode = first;
        first = new Node();
        first.item = item;
        first.next = oldNode;
        N++;
    }

    public T pop(){
        T item = first.item;
        first = first.next;
        N--;
        return item;
    }

    @Override
    public Iterator iterator() {
        for(Node n=first;n!=null;n=n.next){
            System.out.println(n.item);
        }
        return null;
    }

    public static void main(String[] args) {
        LinkedStack<String> stack = new LinkedStack<>();
        stack.iterator();
        stack.push("A");
        stack.push("B");
        stack.push("C");
        stack.push("D");
        stack.pop();
        stack.iterator();
    }
}


你可能感兴趣的:(算法中的下压堆栈(链表实现))