Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Florian Super JLI'ler
Alter: 36 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 17.07.2003, 10:18 Titel: verketteten Listen |
|
|
Benötigt man die verketteten Listen bei der Spieleprogrammierung.
Wenn ja wo.
Danke. |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 17.07.2003, 10:51 Titel: |
|
|
Verkettete Listen haben nichts mit der (Spiele-)Programmierung an sich zu tun, sondern etwas mit Datenverwaltung!
Wenn Du ein Programm (wie etwa ein Spiel) erstellst, dann kommen darin ja bestimmte Daten vor, welche Du verwalten (initialisieren, löschen, verschieben, berechnen, benutzen,...) musst.
Wenn Du nun bereits bei der Erstellung weisst, das Du soviel Daten und nicht mehr jemals brauchen wirst, dann brauchst Du keine komplexen Datenstrukturen wie eine verkettete Liste, sondern kannst alles mit einer fest definierten Anzahl an Variablen und Feldindizes realisieren.
Sollten sich aber während der Laufzeit Deines Programmes Datenbestände beliebig in Ihrer Größe verhalten können, dann kommst Du um Bäume (verkettete Liste ist auch ein Baum, nur ein entarteter) nicht umhin.
Ebenso lassen sich bestimmte Algorithmen auf große Datenmengen in Bäumen leichter und vor allem schneller anwenden, als z.B. auf Felder.
Kurzum:
JA, man benötigt Listen auch in der Spieleprogrammierung. Bei kleinen Projekten allerdings reichen elementare Datenstrukturen wie Felder und Variablen vollkommen aus! |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 17.07.2003, 10:52 Titel: |
|
|
Ich finde sie nützlich und ich benutze sie bei den Spieleobjekten und bei den Partikeln. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
nEp Junior JLI'ler
Anmeldedatum: 03.06.2003 Beiträge: 75
Medaillen: Keine
|
Verfasst am: 17.07.2003, 14:27 Titel: |
|
|
Wobei die STL-Vektoren oftmals sogar die bessere Alternative sind |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 17.07.2003, 14:46 Titel: |
|
|
nEp hat Folgendes geschrieben: | Wobei die STL-Vektoren oftmals sogar die bessere Alternative sind |
Allerdings nur was die Bedienung betrifft. Performance gewinnst Du dadurch keine. |
|
Nach oben |
|
|
nEp Junior JLI'ler
Anmeldedatum: 03.06.2003 Beiträge: 75
Medaillen: Keine
|
Verfasst am: 17.07.2003, 16:36 Titel: |
|
|
Das kommt darauf an. In manchen Sachen sind die um einiges schneller als Listen. |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 17.07.2003, 17:17 Titel: .. |
|
|
Ok, in manchen Sachen ja, da STL-Vektoren intern auch "nur" Felder sind, bei denen auf einzelne Elemente per Index zugegriffen werden kann, was bei Listen nur über die Verzeigerung geht. (->daher Geschwindigkeitsvorteil) |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 17.07.2003, 17:51 Titel: |
|
|
Zitat: | Allerdings nur was die Bedienung betrifft. Performance gewinnst Du dadurch keine. |
Doch tut man. Vektoren sind Arrays und somit ist der liegen die Elemente hintereinander im Speicher, dh. Man kann schneller durchiterieren. Auch das hinzufügen neuer Elemente macht keine Probleme, wenn man ordentlich Allok bei der Initialisierung des Vektors gibt. Und Listen haben den Nachteil, dass sie den Speicher fragmentieren, dass zu Fehlern und Abstürzen des Programms führen kann. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 17.07.2003, 18:54 Titel: |
|
|
Fragmentierter Speicher ist weder für Abstürze noch für Fehler im Programm verantwortlich. Solange man mit Verketteten Listen ordendlich umgeht (d.H. Wenn man mit der Speicherverwaltung dafür odendlich umgeht) tut das selbst dem Fragmentiertesten Speicher keinen Beinbruch ab.
Außerdem verwaltet Windows den Physikalischen Speicher in 4 KB-Blöcken und sorgt selbst für eine Defragmentierung durch optimierte Vergabe von Speicherseiten. _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
|