Добавить и удалить первые узлы - PullRequest
0 голосов
/ 28 марта 2019

Я хотел бы создать метод для добавления элемента в начало списка и удаления первого.

Вот мой класс Node (я использую только int s иЯ создал стандартные методы получения и установки) и мой LinkedList класс:

public class Node
{
    private int info = 0;
    private No next = null;

    No(int i)
    {
    this.info = i;
    }
}

public class LinkedList
{
    public Node first, last;
    public int size;

    public LinkedList()
    {
        this.first = this.last = null;
        size = 0;
    }

Я смог создать метод addFirst:

void addFirst(int e)
{
    Node n = new No(e);

    if(isEmpty()){
        this.first = n;
        this.last = n;
    }       
    else{
        n.setNext(this.first);
        this.first = n;
    }

    size++;
}

addFirstработает нормально, но я понятия не имею, что делать с deleteFirst.

Я пробовал что-то вроде

int deleteFirst()
{           
    first = this.first.getNext();
    return first.getInfoo();
    size--;
}

Но это не работает.Любые советы?

Я ценю помощь.

1 Ответ

0 голосов
/ 28 марта 2019

Если ваш метод deleteFirst должен удалить первый Node и вернуть его значение, то вам просто нужно переместить указатель this.first на следующий, а затем вернуть предыдущее значение this.first.

int deleteFirst() {           
    first = this.first.getInfoo();
    this.first = this.first.getNext();
    size--;
    return first;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...