Als ich eine verkettete Liste in C++ für mein Studium zu machen, sagte mein Professor uns zu benutzen Sie einfach:Wie überprüft man, ob eine verknüpfte Liste nicht genügend Speicher/voll ist?
bool Stack::full() const{
return false; //Assume infinite memory
}
Für unsere verknüpften Liste Implementierungen der Datenstrukturen, die wir in der Klasse (Stacks, Listen, Warteschlangen).
Wenn Sie etwas auf den Stack schieben und der Stack die maximale Speicherkapazität verwendet, kann dies dazu führen, dass die Anwendung abstürzt oder etwas komisches tut, nicht wahr?
Gibt es eine Möglichkeit zu überprüfen, dass die verknüpfte Liste voll/nicht genügend Speicher hat? Oder wird normalerweise angenommen, dass verknüpfte Listen nicht so groß werden, dass sie nicht genügend Speicher haben?
Mögliches Duplikat von [Wie kann CPU- und Speicherverbrauch innerhalb eines Prozesses ermittelt werden?] (Http://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-) Inside-a-process) – PhotometricStereo
Auf einem System mit virtuellem Speicher, wie es heute bei allen Desktop-Systemen der Fall ist, passiert es, wenn die Speicherbelegung eines Prozesses die Größe des physischen Speichers übersteigt, dass die Dinge langsamer laufen **. Und langsamer. Und sloooooooower. Sie werden wahrscheinlich nie an die Grenzen kommen, den gesamten verfügbaren Adressraum zu verbrauchen, selbst auf einem 32-Bit-System. Lange bevor das unglückliche System effektiv zum Stillstand kommt, erzeugt es seltsame Winsing-Geräusche von seiner Festplatte. –
Okay, ich nehme an, es ist normalerweise völlig in Ordnung zu sagen, dass eine verknüpfte Liste niemals voll ist, es sei denn, Sie müssen sie aus anderen Gründen explizit einschränken. Vielen Dank! –