⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.java

📁 The Java Network Simulator is a Java implementation of the ns-2 simulator originally from Berkeley.n
💻 JAVA
字号:
package jns.util;

import java.util.Enumeration;

public class Queue
{

    QueueItem m_first,m_last;
    int m_size;


    public Queue()
    {
        m_first = m_last = null;
        m_size = 0;
    }

    public void pushFront(Object object)
    {
        QueueItem item = new QueueItem(object);

        if(m_first == null)
        {
            m_first = m_last = item;
        }
        else
        {
            item.next = m_first;
            m_first.prev = item;
            m_first = item;
        }

        m_size++;
    }

    public void pushBack(Object object)
    {
        QueueItem item = new QueueItem(object);

        if(m_last == null)
        {
            m_first = m_last = item;
        }
        else
        {
            item.prev = m_last;
            m_last.next = item;
            m_last = item;
        }

        m_size++;
    }

    public Object peekFront()
    {
        if(m_first == null) return null;
        return m_first.object;
    }

    public Object peekBack()
    {
        if(m_last == null) return null;
        return m_last.object;
    }

    public void popFront()
    {
        if(m_first != null)
        {
            m_size--;

            m_first = m_first.next;
            if(m_first == null) m_last = null;
        }
    }

    public void popBack()
    {
        if(m_last != null)
        {
            m_size--;

            m_last = m_last.prev;
            if(m_last == null) m_first = null;
        }
    }

    public int size()
    {
        return m_size;
    }

    public Enumeration elements()
    {
        return new QueueEnumeration(this);
    }

}


class QueueItem
{
    public QueueItem next,prev;
    public Object object;

    public QueueItem(Object object)
    {
        this.object = object;
        this.next = null;
        this.prev = null;
    }

}


class QueueEnumeration implements Enumeration
{

    private QueueItem current;

    public QueueEnumeration(Queue q)
    {
        current = q.m_first;
    }

    public boolean hasMoreElements()
    {
        return (current != null);
    }

    public Object nextElement()
    {
        if(current != null)
        {
            Object object = current.object;
            current = current.next;
            return object;
        }
        else
            return null;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -