(Бинарное дерево в данный код добавить удаление узлов дерева
using System;
class Tree
{
private string value;
private int count;
private Tree left;
private Tree right;
public int Count { get => count; set => count = value; }
public void Insert(string value)
{
if (this.value == null)
this.value = value;
else
{
if (this.value.CompareTo(value) == 1)
{
if (left == null)
this.left = new Tree();
left.Insert(value);
}
else if (this.value.CompareTo(value) == -1)
{
if (right == null)
this.right = new Tree();
right.Insert(value);
}
else
throw new Exception("Узел уже существует");
}
this.Count = Recount(this);
}
public Tree Search(string value)
{
if (this.value == value)
return this;
else if (this.value.CompareTo(value) == 1)
{
if (left != null)
return this.left.Search(value);
else
throw new Exception("Искомого узла в дереве нет");
}
else
{
if (right != null)
return this.right.Search(value);
else
throw new Exception("Искомого узла в дереве нет");
}
}
public string Display(Tree t)
{
string result = "";
if (t.left != null)
result += Display(t.left);
result += t.value + " ";
if (t.right != null)
result += Display(t.right);
return result;
}
private int Recount(Tree t)
{
int count = 0;
if (t.left != null)
count += Recount(t.left);
count++;
if (t.right != null)
count += Recount(t.right);
return count;
}
public void Clear()
{
this.value = null;
this.left = null;
this.right = null;
}
public bool IsEmpty()
{
if (this.value == null)
return true;
else
return false;
}
class Program
{
static void Main(string[] args)
{
if (args is null)
{
throw new ArgumentNullException(nameof(args));
}
Tree t = new Tree();
t.Insert("персик");
t.Insert("черника");
t.Insert("мандарин");
t.Insert("груша");
t.Insert("яблоко");
t.Insert("клубника");
Console.WriteLine(t.Display(t));
Tree s = t.Search("мандарин");
Console.WriteLine(s.Display(s));
Console.Read();
}
}
public void Remove(string value)
{
Tree t = Search(value);
string[] str1 = Display(t).TrimEnd().Split(' ');
string[] str2 = new string[str1.Length - 1];
int i = 0;
foreach (string s in str1)
{
if (s != value)
str2[i++] = s;
}
t.Clear();
foreach (string s in str2)
t.Insert(s);
this.Count = Recount(this);
}
}
100
183
Ответы на вопрос:
ответ: Хотя зона полупустынь и пустынь бедна растительностью, тем не менее один из главных видов сельского хозяйства здесь – пастбищное животноводство. Неплодородные почвы и недостаточное количество осадков делают эту зону малопригодной для растениеводства.
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Другие предметы
-
Тамирис9109.04.2022 17:13
-
MIshaDo21.11.2020 11:01
-
Anal0l12.03.2022 02:14
-
Элиана0120.11.2022 19:01
-
LeylaL1109.07.2020 22:46
-
GrafGundam08.11.2020 00:25
-
рашитгаиф20.12.2022 18:02
-
tyrda4501.11.2022 12:31
-
lalka2002230.03.2020 04:25
-
тик1234528.01.2023 12:52
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.