Verke. Listen
-
Guten abend.
habe mal folgende frage.
was ist der unterschied zwischen 1 und 2 ?while( ( pTail->pNext != NULL ) ) pTail = pTail->pNext;
und 2.
while( pTail != NULL ) { printf("\n%s",pTail->szName ); pTail = pTail->pNext; }
bei der ersten version schau ich mit doch jeden nextpointer an ob er null ist , wenn ja dann ist die kette am ende.
aber beim 2ten doch auch.
schreibe ich jedoch beides gleich funktioniert die ganze liste nicht mehr !mfg hansi
-
Das kommt jetzt natürlich auf Deine Liste (Implementierung) an, aber die erste Version funktioniert nicht, wenn Deine Liste _keine_ Einträge enthält, bzw. Du einen Start-Zeiger auf Die Liste verwendest.
-
Die erste Version bricht ab, wenn pTail auf das letzte Element zeigt, die zweite, wenn pTail auf NULL zeigt (also nach dem letzten Element). Geht doch aus den while-Bedingungen direkt hervor, was war nochmal die Frage???
-
ne genau des wollt ich nochmal genau wissen.
war für mich noch ein rätsel.DANKE
habe aber noch eine kleine neue Frage
pTail->pNext->szBuffer
Was ist damit gemeint ?
-
Original erstellt von <hansi>:
pTail->pNext->szBuffer
Was ist damit gemeint ?Na was wohl?
Du spricht szBuffer des nächsten Elements an.
vielleicht solltest du dich nochmal genauer mit listen beschäftigen??
-
jop das muss ich zweifels ohne !
so kann ich doch einzelne elemente einfach überspringen , zb. wenn ich eins löschen will ( des fetzt ).
danke for help , schön abend noch !
-
Original erstellt von <hansi>:
...
so kann ich doch einzelne elemente einfach überspringen , zb. wenn ich eins löschen will ( des fetzt ). ...Hmmmm Löschen durch Überspringen .... auch eine methode, um MemoryLeaks zu erzeugen ...
[ Dieser Beitrag wurde am 17.12.2002 um 21:30 Uhr von mady editiert. ]
-
nicht gut ?
mhhh, was hast du dann so für vorschläge ?
-
Ein Element löschen?
- Zeiger auf Element zwischenspeichern,
- vorhergehendes Element mit dem nächsten verhängen
- zwischengespeicherter Zeiger freigeben (delete,free, oder wie auch immer..)erst jetzt fetzt des
-
Anmerkung: evtl. müssen noch Speicherbereiche im Element freigeben werden.
-
jop so hab ich das auch.
speicher das auf pHelp , verküpfe dann pTail->pNext mit dem nächsten und gebe pHelp danach gleich wieder frei.
-
dann ists ja gut
klang eben ein wenig anders:einfach überspringen , zb. wenn ich eins löschen will
-
jop sry , hab mich falsch ausgedrückt !