Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

1

06.07.2006, 15:30

Array oder Liste?

Hi,

wie würde man in einem Weltraumspiel die Schüsse oranisieren? Ein dynamisches Array oder eine verkette Liste?

Was bietet sich hier warum an?

mfg spacegaier

Frede

Treue Seele

Beiträge: 259

Wohnort: Hameln

Beruf: Schüler

  • Private Nachricht senden

2

06.07.2006, 15:34

Listen sind für Objekte meiner Mienung nach am Besten geeignet.
Ich hab in der LIste alle Schüsse, Partikel und andere Objekte gespeichert.

Anonymous

unregistriert

3

06.07.2006, 15:55

Arrays verbrauchen da zuviel Speicher, finde Listen in einem solchen
Fall passender...

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

06.07.2006, 16:05

Das musst du mit mal vorrechnen. Wieso sollte ein Array mehr Speicher verbrauchen?

Phili

unregistriert

5

06.07.2006, 16:09

@Steven77

naja, wenn mans z.B. immer in 5er schritten vergrößert, können bis zu 4 Speicherplätze umsonst sein...

Anonymous

unregistriert

6

06.07.2006, 16:10

Listen sind auch flexibler ;)

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

06.07.2006, 16:15

Ich würde in dem Fall auch Listen benutzen, um das mal vorwegzunehmen.
Es ging jetzt gerade darum, dass du behauptest, Arrays nehmen mehr Speicher in Anspruch.
Selbst wenn du den Fall meintest, dass bei fünfer Schritten bis zu vier Speicherplätze umsonst alloziert würden -- was ich nicht glaube, dass du das meintest --, würde ich nicht sagen, dass Arrays mehr Speicher verbrauchen, zumal der Überschuss an reservierter Kapazität ja mit relativer Wahrscheinlichkeit dann doch noch genutzt wird.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

8

06.07.2006, 16:27

Soweit ich weiß wird in einem Array genausoviel reserviert, wie gebraucht wird. Die zusätzliche Reservierung trifft nur bei kleinen Elementen in std::vector auf.
Da bei Schussverwaltung ständig was dazukommt und weg geht rate ich auch zu einer Liste.

Anonymous

unregistriert

9

06.07.2006, 16:34

Mh kann natürlich auch sein, dass ich das falsch in Erinnerung hatte, aber
Listen sind in dem Fall aber ganz klar passender, hab noch nie Schüsse
gesehen, die in einem Array gespeichert werden :)

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

10

06.07.2006, 20:29

Alle Zellen/NL sind 32 Bit Zahlen
Bei Listen ist die zweite Zelle immer der Pointer zu dem nächsten Listeneintrag

Array:
Zelle0 | Zelle1

// Resultat: 2 Daten, auf 2 Speicherplätzen im Speicher

Liste:
Zelle0 | NL0 | Zelle1 | NL1

// Resultat: 2 Daten auf 4 Speicherplätzen

Da Listen immer einen Zeiger "next" auf den nächsten Listeneintrag haben müssen, da das nächste element eben nicht direkt dahinter stehen muss, wie beim Array, sind Listen auf jeden Fall größer.

Ich würde eine Liste nehmen, oder vllt. auch einen Stack.

Werbeanzeige