//Wypisywanie elementów public void Elementy() { Dodatkowa <T> zapas = głowa; if (zapas == null) { System.Console.Write("lista jest pusta"); } while (zapas != null) { System.Console.Write(" " + zapas.wartość); zapas = zapas.następny; } }
//Wstawianie elementu na koniec public void Koniec(T x) { Dodatkowa <T> nowa = new Dodatkowa <T>(); nowa.wartość = x; if (głowa == null) { głowa = nowa; ogon = nowa; } else { głowa.następny = nowa; nowa.poprzednik = ogon; ogon = nowa; } }
//Wstawianie elementu na początek public void Początek(T x) { Dodatkowa <T> w = new Dodatkowa <T>(); w.wartość = x; if (głowa == null) { głowa = w; ogon = w; } else { głowa.poprzednik = w; w.następny = głowa; głowa = w; } }
//Usuwanie ostatniego elementu public Dodatkowa <T> UsunOstatni() { if (głowa == ogon) { Dodatkowa <T> ostatni = głowa; głowa = null; ogon = null; return(ostatni); } else { Dodatkowa <T> przedostatni = ogon.poprzednik; Dodatkowa <T> ostatni = ogon; ogon = przedostatni; przedostatni.następny = null; ostatni.poprzednik = null; return(ostatni); } }
//Usuwanie pierwszego elementu public Dodatkowa <T> UsuńPierwszy() { if (głowa == ogon) { Dodatkowa <T> pierwsza = głowa; głowa = null; ogon = null; return(pierwsza); } else { Dodatkowa <T> druga = głowa.następny; Dodatkowa <T> pierwsza = głowa; głowa = druga; druga.poprzednik = null; pierwsza.następny = null; return(pierwsza); } }
public Lista() { głowa = null; ogon = null; }