-2
public class Node {
int item;
Node next;
public Node() {
item = 0;
this.next = null;
}
public Node(int c) {
item = c;
next = null;
}
public Node(int c, Node next) {
item = c;
this.next = next;
}
}
public class List {
Node head;
Node tail;
int size;
public boolean isEmpty(){
return head == null;
}
public int size(){
return size;
}
public void addF(int i){
head = new Node(i, head);
size++;
}
public void addE(int i){
if(head == null){
Node s = new Node(i);
tail = head;
}else{
Node s = head;
while(s.next != null){
s = s.next;
}
s.next = new Node(i);
size++;
}
}
public static void main(String[] args){
List l = new List();
l.addF(55);
l.addF(56);
l.addF(57);
l.addE(54);
l.addE(53);
System.out.println(l.toString());
}
public String toString() {
String result = "[ ";
Node current = head;
while (current != null) {
result = result + current.item + " ";
current = current.next;
}
return result + "]";
}
}
Может ли кто-нибудь объяснить, как метод addE() опишите else для меня, пожалуйста? Я понимаю, если утверждение, но не другое. Я пытаюсь понять это лучше. Спасибо!!!LinkList для новичков
Основываясь на том, что вы в настоящее время, я не вижу смысла поддержания 'tail' указатель, если вы планируете ходить список из при вставке нового «узла» в конец. Пожалуйста, уточните свой вопрос, потому что, поскольку он стоит сейчас, я не думаю, что вы можете получить точный ответ. –
@TimBiegeleisen Из того, что я вижу в коде, 'tail' даже не обновляется нигде. Вероятно, это просто артефакт из какого-то другого кода. –
@lc. Я говорю следующее: прежде чем мы попытаемся ответить, нам нужно знать, что сам код пытается сделать. Как сейчас, этот вопрос на самом деле требует рефакторинга и объясняет, что делает этот код. –