дерева) не має синів
{(Data.Parent!=null)//Якщо видаляється елемент не корінний
{(Data2.Parent.Left!=null amp; amp; (Data2.Value as Sportsman) .CompareTo (Data2.Parent.Left.Value) == 0)//Визначаємо, для батька ми лівий син?
{. Parent.Left=null;
} if (Data2.Parent.Right!=null amp; amp; (Data2.Value as Sportsman) .CompareTo (Data2.Parent.Right.Value) == 0)//Визначаємо, для батька ми правий син?
{. Parent.Right=null;
}. Parent=Data.Parent; (Data.Parent.Left!=null amp; amp; (Data.Value as Sportsman) .CompareTo (Data.Parent.Left.Value) == 0 )//Визначаємо, для батька (видаляється елемента) ми лівий син?
{. Parent.Left.Value=Data2.Value;
} if (Data.Parent.Right!=null amp; amp; (Data.Value as Sportsman) .CompareTo (Data.Parent.Right.Value) == 0)//Визначаємо, для батька (видаляється елемента) ми правий син?
{. Parent.Right.Value=Data2.Value;
}=null;
}//Значить видаляється елемент - це корінь
{. Value=Data2.Value; (Data2.Parent.Left!=null amp; amp; (Data2.Value as Sportsman) .CompareTo (Data2.Parent.Left.Value) == 0 )//Визначаємо, для батька ми лівий син?
{. Parent.Left=null;
} if (Data2.Parent.Right!=null amp; amp; (Data2.Value as Sportsman) .CompareTo (Data2.Parent.Right.Value) == 0)//Визначаємо, для батька ми правий син?
{. Parent.Right=null;
}
}
} if (Data2.Left!=null)//Якщо Data2 (максимальний з лівого піддерева) має лівого сина
{ lt; T gt; Stock=Data2.Left;// Stock - запас
Data2.Left=null;// Видалення зв'язку між батьком (поточним вузлом) і лівим сином
Data2.Parent.Right=Stock; .Parent=Data2.Parent;
if (Data.Parent!=null)//Якщо видаляється елемент не корінний
{. Parent=Data.Parent; (Data.Parent.Left!=null amp; amp; (Data.ValueasSportsman) .CompareTo (Data.Parent.Left.Value) == 0) //Визначаємо, для батька (видаляється елемента) ми лівий син?
{. Parent.Left.Value=Data2.Value;
} if (Data.Parent.Right!=null amp; amp; (Data.Value as Sportsman) .CompareTo (Data.Parent.Right.Value) == 0)//Визначаємо, для батька (видаляється елемента) ми правий син?
{. Parent.Right.Value=Data2.Value;
}=null;
}//Значить видаляється елемент - це корінь
{. Value=Data2.Value;
}
}
}//Була виявлена ??помилка в дереві (тому що не один з критеріїв не підходить)
{( Дерево побудований з помилкою );
}
}
{. Show ( Даного спортсмена не існує raquo ;, Помилка видалення raquo ;, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} (Exceptionerror)
{. Show (error.Message + nНажміте ОК щоб продовжити raquo ;, Помилка видалення raquo ;, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}//Delete
lt; T gt; Max (Node lt; T gt; Data)//Пошук максимального елемента
{Stop=false; (Stop!=true)
{(Data.Right!=null amp; amp; Data lt; Data.Right)
{++;// Зробити поточним правого сина
}
else
{= true;
}
} Data;
}
void Download (TreeView Tree, DataGridView Table)
{
{. Rows.Clear ();//Табліца.Nodes.Clear ();// Дерево lt; Node lt; T gt; gt; Stack=new Stack lt; Node lt; T gt; gt; (); [] Find; lt; T gt; Data=this; Stop=false; .Nodes.Add ((Data.Value as Sportsman) .FIO_OutPut, (Data.Value as Sportsman) .FIO_OutPut);=Tree.Nodes.Find ((Data.Value as Sportsman) .FIO_OutPut , true) ;. SelectedNode=Find [0] ;. SelectedNode.ToolTipText= Вік: + (Data.Value as Sportsman) .age_OutPut + nКолічество перемог: + (Data.Value as Sportsman) .wins_OutPut.ToString () + nВід спорту: + (Data.Value as Sportsman) .view_OutPut.ToString ();
if (Data!=null)//Якщо корінь не порожній
{. Push (Data); (Stack.Count gt; 0)
{= Stack.Pop () ;. Rows.Add ((Data.Value as Sportsman) .FIO_OutPut, (Data.Value as Sportsman) .a...