Exemple #1
0
        public void Serad()
        {
            if (pocet < 2)
            {
                return;
            }
            SeznamPrvek prvek = Prvni.Naslednik;

            while (prvek != null)
            {
                SeznamPrvek prvek2 = Prvni;
                while (prvek != prvek2)
                {
                    if (((IComparable)prvek.Hodnota).CompareTo(prvek2.Hodnota)
                        < 0)
                    {
                        Vymaz(prvek);
                        PridejPred(prvek, prvek2);
                        break;
                    }
                    prvek2 = prvek2.Naslednik;
                }
                prvek = prvek.Naslednik;
            }
        }
Exemple #2
0
        public void PridejNaZacatek(object data)
        {
            SeznamPrvek seznamPrvek = new SeznamPrvek(Prvni, null, data);

            if (Prvni != null)
            {
                Prvni.Predchudce = seznamPrvek;
            }
            else
            {
                Posledni = seznamPrvek;
            }
            Prvni = seznamPrvek;
            pocet++;
        }
Exemple #3
0
        public void PridejNaKonec(object data)
        {
            SeznamPrvek seznamPrvek = new SeznamPrvek(null, Posledni, data);

            if (Posledni != null)
            {
                Posledni.Naslednik = seznamPrvek;
            }
            else
            {
                Prvni = seznamPrvek;
            }
            Posledni = seznamPrvek;
            pocet++;
        }
Exemple #4
0
        public void PridejPred(SeznamPrvek prvek, SeznamPrvek pozice)
        {
            prvek.Naslednik  = pozice;
            prvek.Predchudce = pozice.Predchudce;

            if (pozice.Predchudce != null)
            {
                pozice.Predchudce.Naslednik = prvek;
            }
            else
            {
                Prvni = prvek;
            }
            pozice.Predchudce = prvek;
            pocet++;
        }
Exemple #5
0
        public void Vymaz(SeznamPrvek prvek)
        {
            if (prvek.Naslednik != null)
            {
                prvek.Naslednik.Predchudce = prvek.Predchudce;
            }
            else
            {
                Posledni = prvek.Predchudce;
            }

            if (prvek.Predchudce != null)
            {
                prvek.Predchudce.Naslednik = prvek.Naslednik;
            }
            else
            {
                Prvni = prvek.Naslednik;
            }
            pocet--;
        }
Exemple #6
0
 internal SeznamPrvek(SeznamPrvek naslednik, SeznamPrvek predchudce, object hodnota)
 {
     this.Naslednik  = naslednik;
     this.Predchudce = predchudce;
     this.Hodnota    = hodnota;
 }