public void InsertData(Patience patience) { if (patience.Emergency <= Patience.Emergency) //O algoritmo ira verificar pra que lado da arvore ele vai { if (Left == null) { Left = new Node(patience); // Se estiver nulo vai criar um nó dentro do nó em questão } else { Left.InsertData(patience); // Caso não ele voltará para este método até criar um novo nó } } else { if (Right == null) //O mesmo caso para direita da árvore { Right = new Node(patience); } else { Right.InsertData(patience); } } }
static void Main(string[] args) { Node treeRoot; //Crio a raiz da árvore { Console.Write("Insira o nome do paciente: "); string name = Console.ReadLine(); Console.Write("Insira o grau: "); int grau = int.Parse(Console.ReadLine()); treeRoot = new Node(new Patience(name, grau)); //Mando os valores dela, aplicando o conceito de pacientes } Console.Clear(); while (true) { Console.Write("Insira o nome do paciente: "); string name = Console.ReadLine(); if (String.IsNullOrWhiteSpace(name)) //Ir colocando os pacientes { break; } Console.Write("Insira o grau: "); int data = int.Parse(Console.ReadLine()); treeRoot.InsertData(new Patience(name, data)); Console.Clear(); } Console.Clear(); Console.WriteLine("Colocando os pacientes em ordem de emergencia"); Console.WriteLine(); treeRoot.WriteInOrderDecrescent(); }