.NET 4.x Создать класс дерева, содержащего числа. - C#
Формулировка задачи:
Здравствуй programmer.
Я новичок в C# и только начинаю изучать его!
Не подскажите решение для задачи: Создать класс дерева, содержащего числа. Реализовать в этом классе функцию, определяющую количество листьев в дереве!?
Информация взята вот от сюда Создать класс дерева, содержащего числа. Реализовать в этом классе функцию, определяющую количество листьев в дереве
Подсказки
public class Tree
{
private Tree m_left, m_right;
private int m_key;
private int m_value;
public Tree(int key, int value)
{
m_key = key;
m_value = value;
}
public int getKey()
{
return m_key;
}
public int getValue()
{
return m_value;
}
public Tree getLeft()
{
return m_left;
}
public Tree getRight()
{
return m_right;
}
private void addLeft(int key, int value)
{
if (m_left == null)
{
m_left = new Tree(key, value);
}
else
{
m_left.add(key, value);
}
}
private void addRight(int key, int value)
{
if (m_right == null)
{
m_right = new Tree(key, value);
}
else
{
m_right.add(key, value);
}
}
public void add(int key, int value)
{
if (key < m_key)
{
addLeft(key, value);
}
else
if (key > m_key)
{
addRight(key, value);
}
}
}
}Alex_oo7
int counter = count(root); где root это твой корень. // counter это кол-во узлов
int count(Tree x){
if(x == null){
return 0;
} else {
return Tree_inorder(x.getRight()) + Tree_inorder(x.getLeft()) + 1;
}
}Решение задачи: «.NET 4.x Создать класс дерева, содержащего числа.»
textual
Листинг программы
var count = root.AllChilds.Where(c=>c.Count == 0).Count();