Exemple #1
0
 // Algo d'ajout par insertion
 private static void InsertAddTList(ref Misc.TList L, int w, char k)
 {
     Misc.TList p, prec, nouv;
     p = L;
     prec = null; // sert à rien, c'est juste pour que VS croit pas qu'on arrive au else avec prec sans valeur.
     while (p.Weight != 0 && p.Weight < w) // weight = 0 équivaut à pointeur nul.
     {
         prec = p;
         p = p.Next;
     }
     nouv = new Misc.TList();
     nouv.Weight = w;
     nouv.Next = p;
     nouv.Tree = new Misc.TBinaryTree();
     nouv.Tree.Key = k;
     nouv.Tree.Left = null;
     nouv.Tree.Right = null;
     if (p == L)
     {
         L = nouv;
     }
     else
     {
         prec.Next = nouv;
     }
 }
Exemple #2
0
 public static Misc.TList CreateList(Misc.TFrequency frequency)
 {
     Misc.TList L = new Misc.TList();
     for (int i = 0; i < 255; i++)
     {
         if (frequency[i] > 0)
         {
             InsertAddTList(ref L, frequency[i], Convert.ToChar(i));
         }
     }
     return L;
 }