Сравнение двух T типов - C#
Формулировка задачи:
using System; using System.Collections.Generic; namespace Astral_LW10_1 { class MyTree<T> { public class Node : IComparable<T> { public T Value { get; set; } public Node True { get; set; } public Node False { get; set; } public Node(T _value) { Value = _value; True = null; False = null; } public Node(Node left, Node right, T value) { True = left; False = right; Value = value; } public int CompareTo(T other) { return -1; } } public Node Root { get; private set; } public MyTree(T _value) { Root = new Node(_value); } public void Add(Node _currentNode, T _valueTrue, T _valueFalse) { _currentNode.True = new Node(_valueTrue); _currentNode.False = new Node(_valueFalse); } //создаем узел public void Add(T value) { _add(Root, value); } private void _add(Node node, T value) { if (node == null) { node = new Node(null, null, value); } else { if (node.Value > value) { _add(node.True, value); } else { _add(node.False, value); } } } public List<T> list = new List<T>(); // вывод в консоль public void Print() { RecursivPprint(Root); } private void RecursivPprint(Node node) { if (node == null) return; //Console.WriteLine(node.Value); list.Add(node.Value); RecursivPprint(node.True); RecursivPprint(node.False); } } }
Оператор ">" невозможно применить к операнду типа "T" и "T".
Решение задачи: «Сравнение двух T типов»
textual
Листинг программы
class MyTree<T> : where T : IComparable<T>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д