我一直在获取x,下一个在节点中有私人访问权限。我试着在Node类和link List类中进行切换,但无论切换什么,都会出现相同的错误。我的节点保存在另一个文件中,看起来是这样的:``
public class Node{
private Node next;
private String name;
private int ssn;
private int key;
public Node(String name, int ssn){
this.name = name;
this.ssn = ssn;
}
public void setNext(Node n){
this.next = next;
}
public int getSSN(){
return this.ssn;
}
public int getKey(){
return ssn%10000;
}
public String getName(){
return name;
}
public Node getNext(){
return this.next;
}
public void setSSN(int ssn){
this.ssn= ssn;
}
然后我的链表堆栈代码如下:
public class StackLL{
private Node head; //Whatever is on top of the stack
private int n; //Suze of the stack
private Node next;
public StackLL(){
head = null;
n = 0;
}
public boolean isEmpty(){
return n == 0;
}
public void push(){
Node temp = head;
head = new Node();
head.x = x;
Node head.next = temp;
n++;
}
public Node pop(){
Node x = head.x;
head = head.next;
n--;
return x;
}
public Node top(){
return head.x;
}
// printStack method for StackLL
public void printStack() {
System.out.println(n);
Node temp = head;
while (temp != null) {
System.out.println(temp.getKey());
temp = temp.getNext();
}
}
}
我在你的代码中插入了关于我看到的问题的注释。在节点
类中只有一个节点,在setNext()中
:
public void setNext(Node n){
// assign the parameter to the field
this.next = n;
}
StackLL
课程中有一个数字:
public class StackLL{
private Node head; //Whatever is on top of the stack
private int n; //Suze of the stack
// the field next is not used; just delete it
// private Node next;
public StackLL(){
head = null;
n = 0;
}
public boolean isEmpty(){
return n == 0;
}
public void push(){
Node temp = head;
// The Node constructor takes two arguments
head = new Node("Jim", 541365250);
// x is not defined; delete this statement
// head.x = x;
// Node.next is not visible (it’s private), so use the setter
head.setNext(temp);
n++;
}
public Node pop(){
// if you want to return a Node, just return head
Node x = head;
// next is private, use the getter
head = head.getNext();
n--;
return x;
}
public Node top(){
// if you want to return a Node, just return head
return head;
}
// printStack method for StackLL
public void printStack() {
System.out.println(n);
Node temp = head;
while (temp != null) {
System.out.println(temp.getKey());
temp = temp.getNext();
}
}
}
除了pop()
中的局部变量,我没有发现x
,所以我删除或更改了对它的引用。在生产代码中,返回仍然链接到其他节点的节点实例不是一个好主意,但我现在已经这么做了。
因此,我试图使用ArrayList在名为Table的类中创建卡片的“堆”,其中包含包含卡片对象(在单独的类中定义)的堆栈。 我是这样初始化的: 我的问题是,我不知道如何在ArrayList内的堆栈中添加内容。我对它的初始化是否错误?如果是,我如何修复它? 注意:MyArrayList和MyStack本质上只是ArrayList和Stack的稍微不同版本。
所以我有一个堆栈,它允许典型的Push和Pop函数。我很难理解这一切实际上是如何在代码方面工作的。我在这里看到了这篇文章,最佳答案中的图片/图表,展示了列表是如何被“推”下来的,你指向最新的元素。我有一个 它挂接到结构“节点” 我如何结合一个推拉与"节点*下一步;"?最难理解的是我将如何真正做到这一点。我知道它最初指向空,然后如果我推一个2,4,6,它将是6,4,2,#。掌握如何实际使用链表中的指
问题内容: 使用Java中的链表实现堆栈的最佳方法是什么? 编辑:我将最好的定义为最有效的使用干净的代码。我已经使用数组来实现堆栈,但是对链接列表不熟悉,因此想知道是否有人可以帮助我实现类似于以下内容的内容: 编辑:如果有人感兴趣,这是链表的实现。 问题答案: 假设您真的想从头开始,而不是使用现有的完美堆栈实现之一,那么我建议您: 创建一个“ MyStack ”类,该类实现所需的任何接口(也许列出
好的,通过下面的代码,我从pop方法中的所有内容中得到了一个null指针异常。因此,我知道当该方法运行时,“head”必须为null。问题是我不知道为什么,我已经仔细检查了我的代码。请帮忙! 节点类: 链接列表类: 我在一个将十进制数转换为二进制数(对于一个类)的程序中实现了这一点。我可以打印第一个节点的数据,也就是链表的头,但是当再次弹出时,就会出现空值问题。
我已经掌握了XPath的基本知识,但在确定以下内容是否可以在使用XPath的C代码中实现时遇到了一些困难(或者我是否需要将其转移到其他代码中,正如我目前所做的那样)。 我有一个XML文档,它由以下结构组成: 其中有多个设置参数值。现在我需要做的只是检索那些包含name属性某些值的setParameter节点。我可能有这些值的可能匹配列表,但它们不会是完全匹配,它们将是节点的name属性必须包含的值
我正在尝试将一个图像推送到我的docker私有存储库: Docker告诉我: push引用存储库[living-registry.com:5000/busybox]Get https://living-registry.com:5000/v1/_ping:read tcp 195.83.122.16:39714->195.83.122.16:5000:read:对等体重置连接 这些命令正在Core