У меня есть класс, который определяет элемент связанного двунаправленного списка:
interface Node {
prev: Node;
next: Node;
type: Type;
}
Например создал несколько элементов списка:
let node1 = Node();
let node2 = Node();
let node3 = Node();
Как хранить эти элементы, чтобы можно было выбрать один из них и привязать следующий элемент?
В голову приходит только это:
class LinkedNodesService {
public node1 = Node();
public node2 = Node();
public node3 = Node();
findNode(type: Type) {
if (type === 'A') return this.node1;
if (type === 'B') return this.node2;
if (type === 'C') return this.node3;
// Etc
}
add(node: Node, to: Node) {
//
}
remove(node: Node) {
//
}
}
Что если надо добавить новый узел node4?
Благодарю за мнения!