![]() |
Anzeige:
|
|
|||||||
| C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Gast
Beiträge: n/a
|
Hallo die Herren ich habe ein kleines Problem und zwar bei der folgenden einfach verketteten liste mit Objekten möchte ich eine zweite ausgabe schreiben die mir die Elemente von hinten nach vorne ausliest.
und irgendwie habe ich keine richtige idee wie ich da anfangen soll ein tip wäre cool. Danke schonmal im vorraus ! Code:
/* ##################################
Einfach verkettete Liste mit Objekten
###################################*/
#include <iostream.h>
class listenelement {
char daten[30];
listenelement* next;
public:
void setdaten(char datenneu[30]);
void init();
void einfuegen(char datenneu[30]);
void ausgeben();
void ende();
};
void listenelement::setdaten(char datenneu[30]) {
strcpy(daten,datenneu);
}
void listenelement::init() {
next = NULL;
}
void listenelement::einfuegen(char datenneu[30]) {
if (next==NULL) {
next = new(listenelement);
next->init();
next->setdaten(datenneu);
} else {
next->einfuegen(datenneu);
}
}
void listenelement::ausgeben() {
cout << daten << "\n";
if (next != NULL) {
next->ausgeben();
}
}
void listenelement::ende() {
if (next != NULL) {
next->ende();
delete(next);
}
}
listenelement* liste;
void init() {
liste = new(listenelement);
liste->init();
liste->setdaten("Listenanfang Element 0");
}
void ende() {
liste->ende();
delete(liste);
liste = NULL;
}
void main () {
init();
liste->einfuegen("Element 1");
liste->einfuegen("Element 2");
liste->ausgeben();
ende();
char p[50];
cin.getline(p,50);
}
|
|
|
|
|
#2 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
Nur so als Iddee,
mach da eine richtige Liste draus und gut ist... Also nicht nur listenelement* next; sondern auch listenelement* previous; (listenelement *first und listenelement *last wäre evtl. auch sinnvoll) Peter |
|
|
|
|
|
#3 (Direktlink) |
|
Gast
Beiträge: n/a
|
jetzt wirft sich für mich die frage auf wie zeige ich der Funktion ausgaberückwärst das sie am ende anfangen soll also wie zeige ich ihr das ende damit sie nach vorne ausgeben kann ?
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|