首页 > 解决方案 > 使用双向链表实现队列

问题描述

所以,我试图在java中使用双向链表来实现一个队列。但令人惊讶的是,只有输入的第一个和最后一个值被存储在队列中。你们能在我的代码中找到错误吗?

listnode front;
listnode rear;
int length;
class listnode
{
    int data;
    listnode next;
    listnode prev;
    listnode(int data)
    {
        this.data=data;
        this.next=null;
    }
}
public void enqueue(int data)
  {
    listnode node=new listnode(data);
    listnode temp2=front;
    if(isempty())
    {
        node.prev=null;
        front= node;
        rear=node;
        length++;
        return;
    }
   
    while(temp2.next!=null)
        {
            temp2=temp2.next;
        }
        temp2.next=node;
        rear.next=node;
        node.prev=temp2;      
}

标签: javadata-structuresqueuedoubly-linked-listenqueue

解决方案


推荐阅读