Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用双链表进行堆栈_Java_Dynamic_Stack_Linked List - Fatal编程技术网

Java 使用双链表进行堆栈

Java 使用双链表进行堆栈,java,dynamic,stack,linked-list,Java,Dynamic,Stack,Linked List,嘿。我被指派使用双链表进行堆栈,我遇到了一个问题。我无法链接到上一个元素(虽然我使用一个链接没有问题) 类节点 { 数据; 节点前向; 节点下一步; } 类数据 { 整数大小; 双倍价格; 布尔等分符; 性别; 串品牌; 数据(整数大小、双倍价格、布尔isOnOffer、字符性别、字符串品牌){ 这个。大小=大小; 这个价格=价格; this.isOnOffer=isOnOffer; 这个。性=性; 这个品牌=品牌; } } 类堆栈 { 私有静态int-sizeOfStack; 私有静态节点to

嘿。我被指派使用双链表进行堆栈,我遇到了一个问题。我无法链接到上一个元素(虽然我使用一个链接没有问题)

类节点
{
数据;
节点前向;
节点下一步;
}
类数据
{
整数大小;
双倍价格;
布尔等分符;
性别;
串品牌;
数据(整数大小、双倍价格、布尔isOnOffer、字符性别、字符串品牌){
这个。大小=大小;
这个价格=价格;
this.isOnOffer=isOnOffer;
这个。性=性;
这个品牌=品牌;
}
}
类堆栈
{
私有静态int-sizeOfStack;
私有静态节点topElement;
公共静态布尔值isEmpty(){return topElement==null;}
公共静态void Initialize(){
sizeOfStack=0;
topElement=null;
}
公共静态无效推送(数据x){
节点oldElement=topElement;
topElement=新节点();
topElement.data=x;
topElement.next=旧元素;
topElement.previous=null;

//oldElement.previous=topElement;//查看不同的情况:

{Stack} //Top of stack is the leftmost node

[Node(Next|Prev)]
案例:#1“空堆栈案例”

案例:#2“正常案例”

看看案例:#3我们看到它与案例2类似,不需要实现

{[Node2(Node1|null)],[Node1(null|Node2)]}

Push:

[Node3(Node2|null)]

Change:

[Node2(Node1|null)] -> [Node2(Node1|Node3)]

//oldElement.previous=topElement;//听起来有点像家庭作业。如果是家庭作业,请标记它。否则:为什么要在java中手动实现链表?请改用ArrayList。我会说空引用异常…无法检索顶层元素。pop()应该返回数据。@Manoj:大概他们现在正在用top打印东西
{null}

Push:

[Node1(null|null)]
{[Node1(null|null)]}

Push:

[Node2(Node1|null)]

Change:

[Node1(null|null)] -> [Node1(null|Node2)]
{[Node2(Node1|null)],[Node1(null|Node2)]}

Push:

[Node3(Node2|null)]

Change:

[Node2(Node1|null)] -> [Node2(Node1|Node3)]