Hi Leute,
Ich muss eine Funktion einfügen ,die die Verkettete Liste
rückwärts ausgeben lässt. Hab vieles versucht, komme doch nicht drauf.
Hat jemand vielleicht Ideen?
Vielen Dank!
#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 ausgaberueckwaerts();
};
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);
}
Ich muss eine Funktion einfügen ,die die Verkettete Liste
rückwärts ausgeben lässt. Hab vieles versucht, komme doch nicht drauf.
Hat jemand vielleicht Ideen?
Vielen Dank!
#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 ausgaberueckwaerts();
};
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);
}