示例#1
0
 public int porownaj(lisc a)
 {
     if (prawdopodobienstwo < a.dajPrawdopodobienstwo())
     {
         return(-1);
     }
     else
     {
         return(1);
     }
 }
示例#2
0
        static void stworzDrzewo()
        {
            liscie = new List <lisc>();
            List <lisc> drzewo = new List <lisc>();

            foreach (znak z in znaki)
            {
                lisc nowy = new lisc(z.dajZnak(), z.dajWystepowanie());
                liscie.Add(nowy);
                drzewo.Add(nowy);
            }

            while (drzewo.Count > 1)
            {
                drzewo.Sort((x, y) => x.porownaj(y));
                lisc a = drzewo.ElementAt(0);
                lisc b = drzewo.ElementAt(1);
                drzewo.Remove(a);
                drzewo.Remove(b);
                lisc nowy = new lisc(a, b);
                drzewo.Add(nowy);
            }
        }
示例#3
0
 public void ustawOjca(lisc a)
 {
     ojciec = a;
 }
示例#4
0
 public lisc(char a, double b)
 {
     znak = a;
     prawdopodobienstwo = b;
     ojciec             = null;
 }