Информация об изменениях

Сообщение Re[25]: C# [Proposal] init block for safe initialization of от 29.12.2025 17:37

Изменено 29.12.2025 17:42 Serginio1

Re[25]: C# [Proposal] init block for safe initialization of
Здравствуйте, pilgrim_, Вы писали:


S>>Нет не затыкает! Ибо для крайних узлов это не null!

S>>Устал писать. Для последней ноды Next = Node.EmptyNode для первой Previous = Node.EmptyNode


_>Влад в том числе о таких циклах и говорил как я понял (на гитхабе правда пример не дописанный для узлов, но из контекста вроде всё понятно).


Это классический пример двухнаправленного списка. Или двоичных деревьев.

С полностью циклическими графами я дело не имел. Всегда есть тупики.
Re[25]: C# [Proposal] init block for safe initialization of
Здравствуйте, pilgrim_, Вы писали:


S>>Нет не затыкает! Ибо для крайних узлов это не null!

S>>Устал писать. Для последней ноды Next = Node.EmptyNode для первой Previous = Node.EmptyNode


_>Влад в том числе о таких циклах и говорил как я понял (на гитхабе правда пример не дописанный для узлов, но из контекста вроде всё понятно).


Это классический пример двухнаправленного списка. Или двоичных деревьев.

С полностью циклическими графами я дело не имел. Всегда есть тупики.

У него пример как раз

init (var root = new TreeNode(), var child1 = new TreeNode(), var child2 = new TreeNode())
{
    root.Left = child1;
    root.Right = child2;
    
    SetParent(child1, root);
    SetParent(child2, root);
    
    void SetParent(TreeNode child, TreeNode parent)
    {
        child.Parent = parent; // Parent is a non-nullable property
    }
}


Где для child Left и Right?