Разница между головой и хвостом вставки в одном списке - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь понять разницу между хвостовой вставкой (код ниже) и вставкой головки. Это порядок, в котором мы назначаем следующий узел?

Дано: 13, 15, 18, 20.

Хвостовая вставка: 13 -> 15 -> 18 -> 20

Головная вставка: 20 -> 18 ->15 -> 13?

public class MylinkedList
{
  // Initialize head node
  private MyNode head;

  // Node creation
  public void tailInsert(int data)
  {
    if(head == null)
    {
      head = new MyNode(data);
      return;
    }

    // While .next of head != null then we set the lastNode to the .next
    MyNode lastNode = head;
    // Find the last node in the list and set it to lastNode
    while(lastNode.next != null)
    {
      lastNode = lastNode.next;
    }

    lastNode.next = new MyNode(data);
  }

public class MyNode
{
  public int data;
  public MyNode next;

  MyNode(data)
  {
    this.data = data
    this.next = null;
  }
}

1 Ответ

0 голосов
/ 28 октября 2019

Разница заключается в именах.

"Хвостовая вставка" вставляет новый объект в хвост списка, и, таким образом, список имеет тот же порядок, что и порядок, в которомдобавляются элементы.

«Вставка заголовка» вставляет новый объект в заголовок списка, поэтому список имеет обратный порядок по сравнению с порядком добавления элементов.

«Голова» - это синоним «передней части» списка;«tail» - это синоним «конца» списка. Подумайте о очереди людей, ожидающих автобус;это, как правило, случай вставки хвоста, по крайней мере, когда люди вежливы. Руководитель линии прибыл первым и сел в автобус первым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...