Java 在链表堆栈中搜索值
我正试图用java编写一个链表堆栈的搜索函数。然而,我遇到了一些问题,比如当我声明一个指向head变量的临时变量时,这样在搜索时就不会丢失实际的值堆栈,我无法调用我的topX和topY方法,我不确定为什么。这是什么原因造成的 我得到的错误是没有为MyNode类型定义topXMyNode 我的代码:Java 在链表堆栈中搜索值,java,compiler-errors,stack,Java,Compiler Errors,Stack,我正试图用java编写一个链表堆栈的搜索函数。然而,我遇到了一些问题,比如当我声明一个指向head变量的临时变量时,这样在搜索时就不会丢失实际的值堆栈,我无法调用我的topX和topY方法,我不确定为什么。这是什么原因造成的 我得到的错误是没有为MyNode类型定义topXMyNode 我的代码: public class MyStack { private MyNode head; public MyStack() { head = null; } public
public class MyStack
{
private MyNode head;
public MyStack()
{
head = null;
}
public boolean isEmpty()
{
if (head == null)
return true;
else
return false;
}
public void push (int v1, int v2)
{
MyNode tmp = new MyNode (v1, v2);
tmp.next = head;
head = tmp;
}
public void pop()
{
head = head.next;
}
public int topX(MyNode node)
{
return node.x;
}
public int topY(MyNode node)
{
return node.y;
}
//THIS IS WHERE i get my error
public boolean search(int v1, int v2, MyNode node){
MyNode temp = node;
//My problem is I can't even call this function
while (temp.topX(node)!= v1 && temp.topY(node) != v2
&& temp.next!=null){
temp = temp.next;
}
}
}
//I declared MyNode seperately
class MyNode
{
int x, y;
MyNode next;
MyNode (int v1, int v2)
{
x = v1;
y = v2;
next = null;
}
}
}
temp是一个MyNode,它没有topX方法。但是,MyStack没有。删除temp.topXnode并替换为topXtemp。对托比也一样。