实现简单的字符串队列

队列就是先进先出,没有什么难点。注意 Java 没有指针,相当于用嵌套的类模拟指针建成链表。

public class LinkedQueueOfStrings
{
    private class Node
    {
        String item;
        Node next;
    }

    private Node first, last;

    public void enqueue(String item)
    {
        Node oldlast = last;
        last = new Node();
        last.item = item;
        last.next = null;
        if (isEmpty()) first = last;
        else oldlast.next = last;
    }

    String dequeue()
    {
        String item = first.item;
        first = first.next;
        if (isEmpty()) last = null;
        return item;

    }

    boolean isEmpty()
    { return first == null; }

    int size()
    {
        int num = 0;
        for(Node i = first; i != last; i = first.next)
            num++;
        return num + 1;
    }

    public static void main(String[] argv)
    {
        LinkedQueueOfStrings queue = new LinkedQueueOfStrings();
        queue.enqueue("huangyi");
        queue.enqueue("jiahai");
        System.out.println(queue.dequeue());
    }
}

参考

https://class.coursera.org/algs4partI-010/lecture/20

转载于:https://my.oschina.net/lvyi/blog/653109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值