13. januar 2001 - 16:34
Der er
2 kommentarer og
1 løsning
Liste, Kø, Stak!!!!!!!
Jeg leder efter en præsis forklaring på hvad følgende bruges til i Java: Liste, Dobbeltkædet liste, Kø, Stak.
Ikke så meget hvordan de fungerer, men mere hvad de kan bruges til i Java?
Og forskellen på dem?
13. januar 2001 - 16:59
#1
Det drejer sig om fire forskellige typer af \'containere\' eller \'collections\'.
Fælles for disse er, at de er dynamiske i størrelse, i modsætning til et array, som i Java er af statisk størrelse.
En liste (list, singly linked list) bruges, når du har brug for hurtigt at kunne komme fra et element i din sekvens til det næste, og har brug for hurtigt at kunne indsætte nye elementer midt i listen.
Hvis du også har brug for at komme tilbage til det foregående element, så bruger du en dobbeltkædet liste (doubly linked list).
Da en dobbeltkædet liste kan bruges til alt, en enkeltkædet liste også kan bruges til, er det meget almindeligt, kun at have dobbeltkædede lister. Java\' Collections library f.eks. har kun dobbeltkædede lister.
En kø (queue) bruges, når du har brug for at tage elementer ud fra din collection i samme rækkefølge som de blev tilføjet i. Dette kaldes også en FIFO (first in - first out) sequence.
Et eksempel er læsning fra tastaturet. Den første tast, brugeren trykker på, skal også processeres først.
En stak (stack) bruges, når du har brug for hele tiden at tage det nyeste element ud af køen. Dette kaldes også en FIFO (last in - first out) sequence.
Et eksempel er en undo liste. Den seneste handling skal omgøres først, hvis brugeren skal vende tilbage til et tidligere punkt i sit arbejde.
13. januar 2001 - 18:11
#3
Ups, godt set. Det fremgår jo også af parentesen, at det er det, jeg mener (LIFO er jo det samme som FILO).