Я программирую реализацию связанного списка на Java. У меня есть два способа, один, который помещает элементы в передней части списка:Связанные списки, добавляющие элементы, объединяющие переднюю и заднюю позиции
public void addFront(int n){
Node temp=new Node(n);
if (llist==null){
first=temp;
}
else{
llist.next=temp;
}
llist=temp;
}
Так что, если я добавить элементы в моем списке, как:
l1.addFront(1)
l1.addFront(2)
l1.addFront(3)
Это будет печатать: 1, 2, и 3
Теперь у меня есть другой метод, который ставит элементы на позади, как это:
public void addBack(int n){
Node temp=new Node(n);
temp.next=llist;
llist=temp;
first=temp;
}
Так что, если я добавляю элементы, такие как:
l1.addBack(4)
l1.addBack(5)
l1.addBack(6)
распечатать 6,5,4; все нормально, пока здесь; проблема, когда я хочу сделать следующую строку с последним списком:
l1.addFront(9)
он только печатает 9 и 6, а остальные цифры заблудились, почему это?
метод печати у меня есть это:
public void print(){
Node curr=first;
while(curr!=null){
System.out.println(curr.e);
curr=curr.next;
}
}
благодаря
Если перебирать связанный список с фронта при печати (я предполагаю, что вы), выход из первого должно быть 3, 2, 1, а выход второго предполагается 4, 5, 6. Считайте, что если вы добавите 2 ** перед ** 1, предполагается, что он должен напечатать 2 ** до ** 1. – Dukeling
@ Нельзя сказать, что это наоборот, проверьте добавленный код печати – Little