000
26.09.2005, 15:08 Uhr
~Manda el
Gast
|
Hallo zusammen,
bin neu hier und hab gleich mal ne Frage über "doppelt verkette liste mit pointern". Erstmal der Quelltext:
Bearbeitung: |
Code-Tags eingefügt
|
C++: |
#include <iostream.h> #include <string.h>
struct listenelement { char daten[30]; listenelement *next; //zeiger next zeigt immer auf den struct };
listenelement *listenanfang; listenelement *hilfszeiger;
void einfuegen(char datenneu[30]) { hilfszeiger = listenanfang;
while(hilfszeiger->next != NULL) { hilfszeiger = hilfszeiger->next; } hilfszeiger->next = new(listenelement); hilfszeiger = hilfszeiger->next;
strcpy(hilfszeiger->daten, datenneu); hilfszeiger->next = NULL; }
void ausgeben() { hilfszeiger = listenanfang; cout << hilfszeiger->daten <<endl;
while(hilfszeiger->next != NULL) { hilfszeiger = hilfszeiger->next; cout << hilfszeiger->daten <<endl; } }
void init() { listenanfang = new(listenelement);
listenanfang->next = NULL; strcpy(listenanfang->daten, "Element 0"); }
void ende() { while(listenanfang != NULL) { hilfszeiger = listenanfang; listenanfang = listenanfang->next; delete(hilfszeiger); } }
void main() { init(); einfuegen("Element 1"); einfuegen("Element 2"); ausgeben(); ende();
char p[50]; cin.getline(p,50); }
|
Problem: Eigentlich ganz einfach, ich muss die ausgabe nur Rückwärts wieder ausgeben. Dazu muss ich einen neuen Zeiger im Struct erstellen (name: last) und eine Funktion schreiben die dies ausgibt (name: void ausgaberueckwaerts()). Das dann in main aufrufen, sonst bitte im Quelltext soweit wie möglich nichts verändern. Ich bin schon seit mehr als ein paar tagen an diesem programm und komme nich weiter. Ich hoffe ihr könnt mir helfen!!! Dank schon mal im Vorraus Dieser Post wurde am 26.09.2005 um 16:24 Uhr von Uwe editiert. |