| Niels_ hat folgendes geschrieben: |
Ich verstehe nicht ganz den Sinn und Zweck eines Zeigers? Bei jedem Gebrauch eines Zeigers könnte ich doch eigentlich auch eine (Index-)Variable benutzen oder ähnliches - dieses ist doch viel einfacher zu verwenden...
|
Zeiger haben durchaus ihre berechtigung, bzw. ohne sie würde nix gehn! zB. jede object referenz ist automatisch ein zeiger, du merkst es nur nicht, da sie sich so anfühlen, wie das object selbst. Nur wenn sie nil sind wird es so manchen schmerzlich bewusst. Zeiger sind halt die perfekten referenzen und avon braucht man in der egel jede menge
| Zitat: |
Genauso unverständlich finde ich den Gebrauch des Zeigers wenn er auf sich selbst zeigt (Knoten.Nachfolger, wobei man Gebrauch von einem record macht) o.ä. Da is es doch viel einfacher und komfortabler ein dynamisches array zu benutzen, wo ich beliebig hin und her springen kann?!
|
Ein array ist vielleicht praktischer für addressierung, aber nicht unbegingt schneller. Wenn man sowieso durch die gesammte liste iteriert dann hat ein linked list einen grossen vorteil: Die adresse eines elementes muss nicht extra ausgerechnet werden, da sie ganz einfach im 'next' pointer steht.
und hast du mal versucht in die mitte eines array ein element einzufügen? Das geht nämlich nicht ohne grosse kopier-vorgänge. Das ist bei einer linked list kein thema. Einfach ein paar zeiger-setzen fertig!
| Zitat: |
Wo also liegt der Vorteil bei der Benutzung von Zeigern?? Bisher sehe ich da nur Nachteile...
|
Was heist vorteile? ...ohne sie geht es nicht!
mfg.
maxiMe