【发布时间】:2017-06-21 11:20:37
【问题描述】:
我正在编写一个程序,我必须创建一个双链表,其中包含用户可以使用自己的值插入的节点。我有方法将新节点插入到列表的不同部分(前面、位置、尾部) .每个节点有两个信息,一个是String,另一个是INT(都是用户创建新节点后设置的)。 我的问题是如何将第一个信息设置为字符串,(在我给出的示例中,我给出了带有 bot 元素 INT 的版本,但第一个必须是字符串,这是我需要帮助的地方)
public void insertInFirstPosition(int information,int key) {
Node n = new Node(information,key, null, null);
if (head == null) {
n.setLinkNext(n);
n.setLinkPrev(n);
head = n;
tail = head;
} else {
n.setLinkPrev(tail);
tail.setLinkNext(n);
head.setLinkPrev(n);
n.setLinkNext(head);
head = n;
}
size++;
}
这里是节点类 ` 公共类节点 {
private int data;
private int informazione;
private Node next, prev;
/* Constructor */
public Node() {
next = null;
prev = null;
data = 0;
informazione = 0;
}
public Node(int i,int k, Node n, Node p) {
data = i;
informazione = k;
next = n;
prev = p;
}
/* Function to set link to next node */
public void setLinkNext (Node n) {
next = n;
}
/* Function to set link to previous node */
public void setLinkPrev(Node p) {
prev = p;
}
/* Funtion to get link to next node */
public Node getNext() {
return next;
}
/* Function to get link to previous node */
public Node getPrev() {
return prev;
}
/* Function to set information to node */
public void setInformazione(int i) {
informazione = i;
}
/* Function to get data from node */
public int getInformazione() {
return informazione;
}
/* Function to set data to node */
public void setData(int d) {
data = d;
}
/* Function to get data from node */
public int getData() {
return data;
}
}`
在此代码中,您只能为两个节点槽输入 INT 值,第二个槽很好,必须是一个 int,同时第一个槽必须是一个字符串。 谢谢大家的帮助。
【问题讨论】:
-
将参数类型改为
String information? -
如果我这样做,第二行将全部标记为错误。这就是为什么我不知道该怎么做
-
只有第一个参数可以改变类型?第二个参数总是
int? -
是的,第二个参数是 int,所以让我们说一个用户可以存储的数字。第一个字符串可以看作是用户对节点的描述
-
标题告诉我们您的
Node是通用的,但您的代码不是。请显示Node实现