56 lines
2.4 KiB
Markdown
56 lines
2.4 KiB
Markdown
![]() |
---
|
|||
|
id: 587d8251367417b2b2512c61
|
|||
|
title: Робота з вузлами у звʼязаному списку
|
|||
|
challengeType: 1
|
|||
|
forumTopicId: 301721
|
|||
|
dashedName: work-with-nodes-in-a-linked-list
|
|||
|
---
|
|||
|
|
|||
|
# --description--
|
|||
|
|
|||
|
Ще одна поширена структура даних, яку зустрінете в інформатиці, - це <dfn>linked list</dfn> (звʼязаний список). Звʼязаний список - це лінійний набір елементів даних, що називаються "вузлами", кожен з яких вказує на наступний. Кожен вузол <dfn>node</dfn> у звʼязаному списку містить два ключові фрагменти інформації: сам елемент `element` і посилання на наступний `node`.
|
|||
|
|
|||
|
Уявіть, що ви стоїте у лінії конга. Ви кладете руки на плечі людини, що стоїть перед вами, а людина позаду вас кладе руки на ваші плечі. Ви бачите її, але вона ж перешкоджає тому, щоб ви побачили й тих, хто стоїть попереду неї у цій лінії. Ця людина попереду вас знає, хто вона сама, може побачити лише наступну людину в лінії, але не знає про існування інших людей попереду чи позаду. Так само і вузол.
|
|||
|
|
|||
|
# --instructions--
|
|||
|
|
|||
|
У нашому редакторі коду створено два вузли під назвою `Kitten` і `Puppy`, і ми вручну приєднали вузол `Kitten` до вузла `Puppy`.
|
|||
|
|
|||
|
Створіть вузол `Cat` і вузол `Dog` й вручну додайте їх у лінію.
|
|||
|
|
|||
|
# --hints--
|
|||
|
|
|||
|
Ваш вузол `Puppy` повинен мати посилання на вузол `Cat`.
|
|||
|
|
|||
|
```js
|
|||
|
assert(Puppy.next.element === 'Cat');
|
|||
|
```
|
|||
|
|
|||
|
Ваш вузол `Cat` повинен мати посилання на вузол `Dog`.
|
|||
|
|
|||
|
```js
|
|||
|
assert(Cat.next.element === 'Dog');
|
|||
|
```
|
|||
|
|
|||
|
# --seed--
|
|||
|
|
|||
|
## --seed-contents--
|
|||
|
|
|||
|
```js
|
|||
|
var Node = function(element) {
|
|||
|
this.element = element;
|
|||
|
this.next = null;
|
|||
|
};
|
|||
|
var Kitten = new Node('Kitten');
|
|||
|
var Puppy = new Node('Puppy');
|
|||
|
|
|||
|
Kitten.next = Puppy;
|
|||
|
// Only change code below this line
|
|||
|
```
|
|||
|
|
|||
|
# --solutions--
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|