Сообщение Re[25]: C# [Proposal] init block for safe initialization of от 29.12.2025 17:37
Изменено 29.12.2025 18:02 Serginio1
Re[25]: C# [Proposal] init block for safe initialization of
Здравствуйте, pilgrim_, Вы писали:
S>>Нет не затыкает! Ибо для крайних узлов это не null!
S>>Устал писать. Для последней ноды Next = Node.EmptyNode для первой Previous = Node.EmptyNode
_>Влад в том числе о таких циклах и говорил как я понял (на гитхабе правда пример не дописанный для узлов, но из контекста вроде всё понятно).
Это классический пример двухнаправленного списка. Или двоичных деревьев.
С полностью циклическими графами я дело не имел. Всегда есть тупики.
У него пример как раз
Где для child Left и Right?
где для node2.Next и node1.Previous ?
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?
Сlass Node
{
public required Node Next { get; set; }
public required Node Previous { get; set; }
}
init (var node1 = new Node(), var node2 = new Node())
{
node1.Next = node2;
node2.Previous = node1;
}где для node2.Next и node1.Previous ?
Re[25]: C# [Proposal] init block for safe initialization of
Здравствуйте, pilgrim_, Вы писали:
S>>Нет не затыкает! Ибо для крайних узлов это не null!
S>>Устал писать. Для последней ноды Next = Node.EmptyNode для первой Previous = Node.EmptyNode
_>Влад в том числе о таких циклах и говорил как я понял (на гитхабе правда пример не дописанный для узлов, но из контекста вроде всё понятно).
Это классический пример двухнаправленного списка. Или двоичных деревьев.
С полностью циклическими графами я дело не имел. Всегда есть тупики.
У него пример как раз
Где для child Left и Right?
где для node2.Next и node1.Previous ?
Опять же варианты кода деревья пустые без узлов?
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?
Сlass Node
{
public required Node Next { get; set; }
public required Node Previous { get; set; }
}
init (var node1 = new Node(), var node2 = new Node())
{
node1.Next = node2;
node2.Previous = node1;
}где для node2.Next и node1.Previous ?
Опять же варианты кода деревья пустые без узлов?