Как вручную отследить связанный список X с помощью следующих операций? - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь ответить на этот вопрос ниже, и я застрял.

Отследить вручную связанный список X с помощью следующих операций:

X.add("Fast"); 
X.add("Boy"); 
X.add("Doctor"); 
X.add("Event"); 
X.add("City"); 
X.addLast("Zoo"); 
X.addFirst("Apple"); 
X.add (1, "Array");
X.remove("Fast");
X.remove (2);
X.removeFirst ();
X.removeLast ();

Вот как я это проверяю вручную, и я пытаюсь понять, если / где я делаю неправильно, потому что я видел непонятные ответы в других местах:

Fast

Мальчик Fast

DoctorBoyFast

Событие ДокторБойБыстрый

Город Событие ДокторБойБыстрый

Zoo City Event ДокторBoyFast

Zoo City Event ДокторBoyFastApple

Zoo City Событие DoctorBoyFastArrayApple

Zoo City Event ДокторBoyArrayApple

Zoo City Event ДокторArrayApple

Zoo City Event DoctorArray

Город Событие ДокторМассив

Ответы [ 2 ]

1 голос
/ 02 июня 2019

После выполнения операции вы получите следующий список:

Ваш LinkedList начинается с головы. Теперь для начала вам нужно вставить из головы, а в последнюю очередь вставить.

Быстрая

Boy-> Fast

Врач-> Boy-> Fast

событийно> Врач-> Boy-> Fast

Город-> событийно> Врач-> Boy-> Fast

Город-> Событие-> Доктор-> Мальчик-> Быстрый-> Зоопарк // Неправильный Зоопарк-> Город-> Событие-> Доктор-> Мальчик-> Быстрый

Apple-> City-> Event-> Doctor-> Boy-> Fast-> Zoo // неправильно Zoo-> City-> Event-> Doctor-> Boy-> Fast-> Apple

Apple-> Array-> City-> Event-> Doctor-> Boy-> Fast-> Zoo // неправильно, потому что связанный список должен быть запущен из яблока, но это не совсем верно, потому что в LinkedList нет индексации, он должен быть на вас.

Аналогичным образом вы можете выполнить другую операцию.

0 голосов
/ 03 июня 2019
X.add("Fast"); 
X.add("Boy"); 
X.add("Doctor"); 
X.add("Event"); 
X.add("City"); 
City->Event->Doctor->Boy->Fast
tail    ----- head
top   ---- bottom
top........0

X.addLast("Zoo"); 
X.addFirst("Apple");
Zoo->City->Event->Doctor->Boy->Fast->Apple

X.add (1, "Array");
Zoo->City->Event->Doctor->Boy->Fast->Array->Apple

X.remove("Fast");
Zoo->City->Event->Doctor->Boy->Array->Apple

X.remove (2);
Zoo->City->Event->Doctor->Array->Apple

X.removeFirst ();
Zoo->City->Event->Doctor->Array

X.removeLast ();
City->Event->Doctor->Array

Answer depends on , what each operation means,
Here is how I perceived them:
add("A") -> will append "A" as head to the linked list.
addFirst("A") -> will add "A" as head to the linked list i.e. first element.
addLast("A") -> will append "A" as tail to the linked list.
add (i, "A") -> will add "A" at i th position from head(i=0,1,2,..)
remove("A") ->  will remove "A" from LL
remove(i) -> will remove element from i th position
removeFirst() -> will remove (head)first element from LL.
removeLast() -> will remove (tail)last element from LL.
It will be helpful if you can provide this sort of detail.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...