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.
