Følgende klasse er gitt:
class Node { private int info; Node neste; public Node( int data, Node etterfølger ) { info = data; neste = etterfølger; } public int getInfo() { return info; } public void setInfo( int nyVerdi ) { info = nyVerdi; } }
Klassen definerer datatypen for noder i en sammenkjedet liste. Anta at det er
opprettet en slik liste med noder som inneholder verdiene 4, 1, 2, 9, 7
(i denne rekkefølge). Anta videre at Node
-pekerne
første, p, q
refererer til
nodene med verdiene henholdsvis 4, 2 og 7.
neste
-peker lik null
.)første.getInfo()
?p.neste.neste.getInfo()
?p.neste.neste.neste
?q.neste
?q.neste = new Node( 5, q.neste );
p.neste.neste.neste.neste
?
Tegn en figur av lista.p
og q
.
Skriv et segment
med kode som fjerner den siste noden fra lista.hode
peker på første node
i lista, og neste
-pekeren til siste node er lik null
.p
og q
, samt lista beskrevet i foregående spørsmål.
Skriv et segment med kode som skjøter sammen de to listene, med den første
lista først, slik at pekeren
første
peker på første node i den sammenskjøtte lista.Node
som er beskrevet i Oppgave 1 er gitt.
Klassen definerer datatypen for nodene i en sammenkjedet liste definert av
klassen som er skissert nedenfor.
public class Liste { private Node første; public void settInnForrest( int verdi ) { < oppretter og setter inn en ny node forrest i lista > } public void settInnForrest( Node ny ) { < setter inn forrest i lista noden som er parameter til metoden > } public void settInnBakerst( int verdi ) { < oppretter og setter inn en ny node bakerst i lista > } public void settInnBakerst( Node ny ) { < setter inn bakerst i lista noden som er parameter til metoden > } public Node fjernFørste() { < fjerner og returnerer første node i lista, returnerer null i tilfelle lista er tom > } public Node fjernSiste() { < fjerner og returnerer siste node i lista, returnerer null i tilfelle lista er tom > } public String toString() { < returnerer en streng som inneholder alle verdier i lista med et mellomrom mellom hver verdi. Returnerer en tom streng i tilfelle lista er tom. > } }Programmer klassen
Liste
. Alle beskrevne metoder skal
virke riktig også i spesielle tilfeller som at lista på forhånd er tom eller
bare inneholder én node.