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; } }
public void PridejNaZacatek(object data) { SeznamPrvek seznamPrvek = new SeznamPrvek(Prvni, null, data); if (Prvni != null) { Prvni.Predchudce = seznamPrvek; } else { Posledni = seznamPrvek; } Prvni = seznamPrvek; pocet++; }
public void PridejNaKonec(object data) { SeznamPrvek seznamPrvek = new SeznamPrvek(null, Posledni, data); if (Posledni != null) { Posledni.Naslednik = seznamPrvek; } else { Prvni = seznamPrvek; } Posledni = seznamPrvek; pocet++; }
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++; }
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--; }
internal SeznamPrvek(SeznamPrvek naslednik, SeznamPrvek predchudce, object hodnota) { this.Naslednik = naslednik; this.Predchudce = predchudce; this.Hodnota = hodnota; }