oro2 Skrevet 18. november 2004 Del Skrevet 18. november 2004 nei. å? Mulig det er ulikt i ulike språk, men vi lærte hvertfall på skolen (bruker java) at array har en fast størrelse. Hvis man ønsker egenskapene til array i tillegg til at den kan utvides bruker man en såkalt arraylist, en liste som simulerer en array, dvs at man får tilgang til elementet på en gitt index via get- og set-metoder. Lenke til kommentar
A_N_K Skrevet 18. november 2004 Del Skrevet 18. november 2004 Det finnes dynamiske og statiske arrayer, en liste skiller seg grunnleggende fra et array. Det har heller ingenting med ulike språk å gjøre, Sedgewicks bøker om algoritmer/datastrukturer f.eks finnes for flere forskjellige språk. Lenke til kommentar
RolfOve Skrevet 18. november 2004 Del Skrevet 18. november 2004 Mulig jeg ikke har forstått tråden her, men array er vel bare det engelske ordet for tabell? Er vel ikke større forskjell enn det. Lenke til kommentar
Dead_Rabbit Skrevet 18. november 2004 Del Skrevet 18. november 2004 (endret) Det trådstarter er ute etter er om hva som er "riktig" å si; en arry, eller et arry. Så, ja, du har ikke forstått tråden. Edit: Jo, man kan vel kalle det en "linked list". Endret 19. november 2004 av zirener Lenke til kommentar
oro2 Skrevet 18. november 2004 Del Skrevet 18. november 2004 Det finnes dynamiske og statiske arrayer, en liste skiller seg grunnleggende fra et array. Det har heller ingenting med ulike språk å gjøre, Sedgewicks bøker om algoritmer/datastrukturer f.eks finnes for flere forskjellige språk. Mulig at dette er litt offtopic men... Jeg vet den grunnleggende forskjellen på en liste og en aray. Visste ikke at det finnes både dynamiske og statiske array generelt, så der lærte jeg noe nytt (takk!), men i følge min bok* finnes ikke dynamiske array som en primær datatype i java. Utvidelse gjøres vet å lage en ny array og kopiere over fra den gamle. * "Data Structures & Problem Solving Using Java", av Mark Allen Weiss Lenke til kommentar
Dead_Rabbit Skrevet 18. november 2004 Del Skrevet 18. november 2004 Ved en dynamisk en så kan man legge til hele tiden. Man opretter et nytt objekt, T og setter v.next(av type T) til å peke på dette objektet. Lenke til kommentar
oro2 Skrevet 18. november 2004 Del Skrevet 18. november 2004 Ved en dynamisk en så kan man legge til hele tiden. Man opretter et nytt objekt, T og setter v.next(av type T) til å peke på dette objektet. Det er nettopp dette jeg (som jeg har lest i boken nevnt tidligere i tråden) kaller "linked list", og ikke "array". Tydeligvis ulike måter å bruke ordene på. Med array mener jeg en datastruktur der man adresserer elementene med en index direkte, og ikke traverserer den ved hjelp av pekere mellom objektene. Lenke til kommentar
Legion Skrevet 18. november 2004 Del Skrevet 18. november 2004 litt OT, men en string kan mer eller mindre tolkes som et dynamisk array. hvert tegn kan adresseres ved index og lengden kan økes runtime. i java fungerer vel vector som et dynamisk array...om jeg husker riktig Lenke til kommentar
GeirGrusom Skrevet 19. november 2004 Del Skrevet 19. november 2004 Det er nettopp dette jeg (som jeg har lest i boken nevnt tidligere i tråden) kaller "linked list", og ikke "array". Tydeligvis ulike måter å bruke ordene på. Med array mener jeg en datastruktur der man adresserer elementene med en index direkte, og ikke traverserer den ved hjelp av pekere mellom objektene det er helt riktig det, men en array er nødvendigvis en liste med data i rekkefølge, enten den er statisk eller dynamisk, spiller ingen rolle.Hvis du har en array med objekter, blir det en liste, tabell, array med pekere. Lenke til kommentar
runeb Skrevet 20. november 2004 Del Skrevet 20. november 2004 litt OT, men en string kan mer eller mindre tolkes som et dynamisk array. hvert tegn kan adresseres ved index og lengden kan økes runtime. i java fungerer vel vector som et dynamisk array...om jeg husker riktig I java er teknisk sett hverken strenger eller arrays dynamiske... Størrelsen kan ikke endres i det hele tatt. StringBuffer, derimot er dynamisk. Hvis jeg ikke husker helt feil, så fungerer Vector klassen slik at den inneholder et statisk array. Når det statiske arrayet blir fullt opprettes et nytt og større array, og innholdet i det gamle kopieres over. Lenke til kommentar
GeirGrusom Skrevet 22. november 2004 Del Skrevet 22. november 2004 Hvis jeg ikke husker helt feil, så fungerer Vector klassen slik at den inneholder et statisk array. Når det statiske arrayet blir fullt opprettes et nytt og større array, og innholdet i det gamle kopieres over. med andre ord et dynamisk array. Det er akkurat det samme som gjøres i realloc i C Prøv å gjøre arrayet større, kan ikke dette gjøres, alloker en ny blokk, og evt. kopier gamle data over i det nye, og frigjør den gamle pekeren. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå