Ejemplo n.º 1
0
 private static void CheckHead(int number, Parlamus head)
 {
     if (number > head.Value)
     {
         if (head.Right != null)
         {
             CheckHead(number, head.Right);
         }
         else
         {
             head.Right = new Parlamus(head, number);
         }
     }
     if (number < head.Value)
     {
         if (head.Left != null)
         {
             CheckHead(number, head.Left);
         }
         else
         {
             head.Left = new Parlamus(head, number);
         }
     }
 }
Ejemplo n.º 2
0
        private static void Main(string[] args)
        {
            var N    = int.Parse(Console.ReadLine());
            var data = new int[N];

            for (var i = 0; i < N; i++)
            {
                data[i] = int.Parse(Console.ReadLine());
            }
            data = data.Reverse().ToArray();
            var head = new Parlamus(null, data[0]);

            foreach (var e in data)
            {
                if (e == head.Value)
                {
                    continue;
                }
                CheckHead(e, head);
            }
            var result = new List <int>();

            Sort(head, result);
            foreach (var e in result)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 3
0
 private static void Sort(Parlamus head, List <int> result)
 {
     if (head.Right != null)
     {
         Sort(head.Right, result);
     }
     if (head.Left != null)
     {
         Sort(head.Left, result);
     }
     result.Add(head.Value);
 }
Ejemplo n.º 4
0
 public Parlamus(Parlamus parent, int value)
 {
     Parent = parent;
     Value  = value;
 }