Oppgave 2
@Override public int indeksTil(T verdi) { if (verdi == null) return -1; Node<T> p = hode; for (int indeks = 0; indeks < antall ; indeks++) { if (p.verdi.equals(verdi)) return indeks; p = p.neste; } return -1; } @Override public boolean inneholder(T verdi) { return indeksTil(verdi) != -1; }
Oppgave 3
@Override public boolean fjern(T verdi) // verdi skal fjernes { if (verdi == null) return false; // ingen nullverdier i listen Node<T> q = hode, p = null; // hjelpepekere while (q != null) // q skal finne verdien t { if (q.verdi.equals(verdi)) break; // verdien funnet p = q; q = q.neste; // p er forgjengeren til q } if (q == null) return false; // fant ikke verdi else if (q == hode) hode = hode.neste; // går forbi q else p.neste = q.neste; // går forbi q if (q == hale) hale = p; // oppdaterer hale q.verdi = null; // nuller verdien til q q.neste = null; // nuller nestepeker antall--; // en node mindre i listen return true; // vellykket fjerning }