Verkettete Listen
Hallo,
ich habe schon gegoogelt, aber komme nicht auf die Lösung. Und zwar soll der Benutzer einen Wert eingeben, und eine Zahl, wovor der Wert stehen soll. Dies soll in der Funktion einfuegen realisiert werden.
Kann mir jemand melden?
ich habe schon gegoogelt, aber komme nicht auf die Lösung. Und zwar soll der Benutzer einen Wert eingeben, und eine Zahl, wovor der Wert stehen soll. Dies soll in der Funktion einfuegen realisiert werden.
Kann mir jemand melden?
#include <iostream>
using namespace std;
struct TListenKnoten { int data; TListenKnoten *next; };
void hinten_anfuegen(TListenKnoten* &anker, int wert) {
TListenKnoten *neuer_eintrag = new TListenKnoten;
neuer_eintrag->data = wert;
neuer_eintrag->next = nullptr;
if (anker == nullptr)
anker = neuer_eintrag;
else {
TListenKnoten *ptr = anker;
while (ptr->next != nullptr)
ptr = ptr->next;
ptr->next = neuer_eintrag;
}
}
void liste_ausgeben_rueckwaerts(TListenKnoten* anker) {
if (anker->next != NULL)
liste_ausgeben_rueckwaerts(anker->next);
if (anker->next != NULL) {
cout << ", ";
}
cout << anker->data;
}
void einfuegen(TListenKnoten* &anker, int wert_neu, int vor_wert) {
for (int i = 0; i < 12; i++) {
while (anker->next != NULL && anker->next->data < vor_wert) {
anker = anker->next;
}
}
hinten_anfuegen(anker, wert_neu);
}
void liste_ausgeben(TListenKnoten * anker) {
if (anker == nullptr)
cout << "Leere Liste." << endl;
else {
cout << "[ "; TListenKnoten *ptr = anker;
do {
cout << ptr->data;
if (ptr->next != nullptr)
cout << " , ";
else
cout << " "; ptr = ptr->next;
}
while (ptr != nullptr);
cout << "]" << endl;
}
}
int main() {
int laenge = 10;
TListenKnoten *anker = nullptr;
for (int i = 0; i < laenge; i++) {
hinten_anfuegen(anker, i*i);
}
liste_ausgeben(anker);
int wert_neu, vor_wert;
cout << "Einzufuegender Wert: ";
cin >> wert_neu;
cout << "Vor welchem Wert? ";
cin >> vor_wert;
einfuegen(anker, wert_neu, vor_wert);
liste_ausgeben(anker);
system("PAUSE");
return 0;
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 323258
Url: https://administrator.de/contentid/323258
Ausgedruckt am: 22.11.2024 um 18:11 Uhr