public int porownaj(lisc a) { if (prawdopodobienstwo < a.dajPrawdopodobienstwo()) { return(-1); } else { return(1); } }
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); } }
public void ustawOjca(lisc a) { ojciec = a; }
public lisc(char a, double b) { znak = a; prawdopodobienstwo = b; ojciec = null; }