Я реализовал связанный список, который помещает их элементы перед списком каждый раз, когда я вызываю функцию, например:
30-->40
|
first
//add 50
30-->40-->50
|
first
код, который я реализовал, следующий:
public class Node {
public int elem;
Node next;
public Node(int e){
this.elem=e;
}
}
public class List {
Nodo list;
Nodo first;
public void addFront(int n){
Nodo temp=new Nodo(n);
if (list==null){
first=temp;
}
else{
list.next=temp;
}
list=temp;
}
public void print(){
Nodo current;
current=first;
while (current!=null){
System.out.println(current.elem);
current=current.next;
}
}
public Nodo deletefirst(){
first=first.next;
return list;
}
public int size(){
Nodo temp;
temp=first;
int c=0;
while (temp!=null){
c++;
temp=temp.next;
}
return c;
}
проблема, с которой я столкнулся, заключается в моей основной программе, когда я делаю что-то вроде этого:
List list4=new List();
list4.addFront(10);
list4.addFront(20);
list4.addFront(40);
list4.addFront(60);
list4.addFront(80);
for (int i=0;i<list4.size();i++){
List4.deletefirst();
System.out.println("List");
List4.print();
}
список, который визуализируется следующим образом:
list
20
40
60
80
list
40
60
80
list
60
80
как можноЯ изменяю свой код так, чтобы он печатал пропущенные значения списка, я имею в виду:
list
80
list
null
Любая помощь?