Avatar billede kamikaze Nybegynder
24. april 2001 - 23:59 Der er 5 kommentarer og
1 løsning

dobbelt-hægtede lister i Java...Hvordan?

Jeg er vant til c++, og dermed pointere, men til en opgave skal jeg lave en dobbelt-hægtet liste i Java.
Hvordan implementerer man en simpel dobbelt-hægtet liste i Java??? I det hele taget uden pointere????
Avatar billede erikjacobsen Ekspert
25. april 2001 - 00:05 #1
public class Knude {
  Knude prev = null;
  Knude next = null;
  ....osv...
}
Avatar billede kamikaze Nybegynder
25. april 2001 - 01:09 #2
ja, men...

Hvordan får jeg next og prev til at pege på noget...

altså (i C++)
knude* next=new knude();

Uden pointere?????????
Avatar billede kamikaze Nybegynder
25. april 2001 - 02:03 #3
Nååååå.....

Har jeg ret i flg.:

Hvis jeg skriver next=new Knude() i Java, vil next indeholde referencen til denne nye Knude??????
Avatar billede erikjacobsen Ekspert
25. april 2001 - 07:46 #4
Nemlig! Og en typisk linie i et program, der fjerner en knude kunne se sådan ud

  k.next.next.prev=k;
  k.next=k.next.next;

Der er faktisk ikke rigtig nogen forskel til C++. At Java ikke understøtter
pointere betyder ikke at de ikke understøtter referencer (som vi lige har
brugt), men at man ikke kan regne på disse referencer (f.eks. lægge 2 til).

Nå, ja, en god forskel er, at de knuder man smider væk ikke behøver blive
ryddet op af dig. Det sker helt automatisk, når der ikke er mere, der peger
på dem.
Avatar billede disky Nybegynder
25. april 2001 - 10:51 #5
der er en meget bedre måde at gøre det på.

Man bruger \'LinkedList\' ud fra den kan man få en listIterator som man bruger til at kravle frem og tilbage med.

Der er jo ingen grund til at lae det selv når det findes i Java :)

Et godt sted at læse om det er:
http://java.sun.com/docs/books/tutorial/
under punktet \'Collections\' java har en stor bunke indbygget funktionalitet til styring af datastrukturer
Avatar billede kamikaze Nybegynder
26. april 2001 - 12:06 #6
->disky

Du har egentlig ret, men det jeg skal kunne er netop at lave det selv.... så

Points til erikjacobsen, med tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester