Nodene i en sammenkjedet liste er definert slik:
class Node { private int info; Node neste; public Node( int data ) { info = data; neste = null; } public int getInfo() { return info; } public void setInfo( int nyVerdi ) { info = nyVerdi; } }
Klassen Heltallsliste
skal defineres slik:
class Heltallsliste { private Node første; //peker til første listenode public Heltallsliste() { første = null; } public Node finn( int n ) { ... } //returnerer peker til //første node med verdi lik n public boolean fjern( int n ) { ... } //fjerner første node med // verdi lik n. Returverdien indikerer om noden ble // funnet og fjernet eller ikke. public void settInnForrest( int n ) { ... } //setter inn verdien n //i en ny node forrest public void settInnForrest( Node ny ) { ... } //setter inn //noden ny forrest public void settInnBakerst( int n ) { ... } //setter inn verdien n //i en ny node bakerst public void settInnBakerst( Node ny ) { ... } //setter inn //noden ny bakerst public void settInnSortert( int n ) { ... } //setter inn verdien n //i en ny node som plasseres riktig i sortert liste public void settInnSortert( Node ny ) { ... } //setter inn //verdien n i en ny node som plasseres riktig i sortert liste public void sorter() { ... } //sorterer lista med nodenes verdier //i voksende rekkefølge public void dubliser() { ... } //dubliserer hver node i lista slik //at f.eks. lista 2, 5, 8, 4 blir til lista 2, 2, 5, 5, 8, 8, 4, 4 public void slett() { ... } //sletter alle nodene i lista public Heltallsliste reversertKopi() { ... } //returnerer et //listeobjekt som er en kopi av denne liste, //men med nodene i reversert rekkefølge. Eks: //Opprinnelig liste: 2, 5, 8, 4. //Reversert kopi: 4, 8, 5, 2. public void reverser() { ... } //reverserer nodenes rekkefølge public void skrivListe( JTextArea elementer ) { ... } //skriver ut //elementene i lista på en linje i tekstområdet elementer. }
Programmer metodene som er beskrevet i
Heltallsliste
-klassen. Husk å ta
hensyn til spesialtilfeller som tom liste og liste med bare én node.
Lag et program som tester ut den definerte listeklassen. Programmet skal opprette en liste og ha kommandoer for å
Ved innsetting på sortert plass, må lista sorteres før det gjøres kall på
listemetoden settInnSortert
.
Skriv ut listeinnholdet etter hver endring, slik at du får kontrollert at
metodene virker som de skal. Nedenfor er det vist en mulig utforming
av skjermbilde.