Arbre (tree) - structures d'arbres génériques

Description

J'ai été surpris de voir qu'il n'y avait aucune structure général d'arbre dans System.Collections. Je n'ai pas chercher plus loin, ils se cachent peut-être quelquepart. J'en ai donc bâti quelques unes très générales (BinaryTree & NTree) pour une utilisation simple.

Enjoy!

Source / Exemple :


using UtilityLib.Collections;

namespace ProgrammeTest
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {

            BinaryTree<int> arbre = new BinaryTree<int>(10);
            arbre.Root.LeftValue = 5;
            arbre.Root.RightValue = 15;
            arbre.Root.LeftNode.LeftValue = 2;
            arbre.Root.LeftNode.RightValue = 7;
            arbre.Root.RightNode.LeftValue = 12;
            arbre.Root.RightNode.RightValue = 17;
            Console.WriteLine("Valeurs -->");
            foreach (int i in arbre.AllValuesLeftToRight)
                Console.Write("[ {0} ] ",i);
            Console.WriteLine();
            Console.WriteLine("Valeurs <---");
            foreach (int i in arbre.AllValuesRightToLeft)
                Console.Write("[ {0} ] ", i);
            Console.WriteLine();
            Console.ReadLine();
        }
    }
}

Codes Sources

A voir également