Ich praktiziere mein Wissen über ADTs, indem ich einige Datenstrukturen implementiere, selbst wenn die meisten bereits existieren. Bei Stacks sprechen viele Bücher und andere Dokumente, die ich gelesen habe, dass der Stack einen Fehler ausgibt, wenn Sie versuchen, ein Element hinzuzufügen, aber der Stack ist voll. In einer Java-Implementierung (oder einer anderen), sollte ich speziell eine maximale Stackgröße verfolgen (vom Konstruktor), überprüfen, ob diese Größe erreicht ist, und eine Überlauf-Ausnahme auslösen, wenn dies der Fall ist? Oder ist das nicht so eine große Sache?Sollte ein Stack eine maximale Größe haben?
Antwort
Hängt von der Art des Stacks ab, aber normalerweise spielt es keine Rolle, ob der Stack Heap zugewiesen ist.
Wenn Ihr Stapel wirklich auf dem Stapel zugeordnet ist, sollten Sie ihn klein halten.
Was, wenn der Stapel leer ist und Sie einen peek() oder pop(), sollte ich eine EmptyStackException werfen oder Null zurückgeben? –
Es kommt wieder auf den Zweck an. Für akademische Übungen würde ich sagen, eine Ausnahme wäre vorzuziehen, solange Sie auch leer() implementieren. –
- 1. reagieren Maximale Call-Stack Größe
- 2. PHP: Haben Arrays eine maximale Größe?
- 3. Eslint - Maximale Call-Stack-Größe überschritten
- 4. JSpec - RangeError: Maximale Call-Stack-Größe überschritten
- 5. Node.js - Maximale Call-Stack-Größe überschritten
- 6. RangeError: Maximale Call-Stack-Größe überschritten
- 7. Meteor: Maximale Call-Stack-Größe überschritten
- 8. Uncaught RangeError: Maximale Call-Stack-Größe überschritten
- 9. Angular-Ui-Router Maximale Call-Stack-Größe überschritten
- 10. Uncaught RangeError: Maximale Call-Stack-Größe überschritten. jstree
- 11. Meteor RangeError: Maximale Call-Stack-Größe überschritten. auf Tastendruckereignis
- 12. RangeError: Maximale Call-Stack-Größe für Node.js überschritten
- 13. Node.js - Maximale Call-Stack-Größe überschritten nur für einen Benutzer
- 14. setTimeout und jQuery: Uncaught RangeError: Maximale Call-Stack-Größe überschritten
- 15. RangeError: Maximale Call-Stack-Größe überschritten - nodejs, redis
- 16. angular1 - Angularjs: 11655 Auslöser Range: Maximale Call-Stack-Größe überschritten
- 17. Socket.IO Websocket-Server Maximale Call-Stack-Größe überschritten
- 18. Auslöser Range: Maximale Call-Stack-Größe überschritten in angular2
- 19. Nowjs: [Auslöser Range: Maximale Call-Stack-Größe überschritten]
- 20. click event Uncaught RangeError: Maximale Call-Stack-Größe überschritten
- 21. Getter Setter Maximale Call-Stack-Größe überschritten Fehler
- 22. Mocha-Integration "RangeError: Maximale Call-Stack-Größe überschritten"
- 23. Haben ArrayBuffer eine maximale Länge?
- 24. Sollte ein g_object_new eine passende g_object_unref haben?
- 25. Was ist eine sichere maximale Länge, die ein Segment in einem URL-Pfad haben sollte?
- 26. Gibt es eine maximale Grenze für die Größe einer Variablen, die auf einem Stack zugewiesen werden sollte?
- 27. Maximale Größe von Bildansichten
- 28. Sollte ein Stack-Objekt vergleichbar sein
- 29. Maximale Größe von OracleTypes.ARRAY
- 30. Maximale Call-Stack ist übertroffen
Sollte eine Warteschlange oder Liste eine maximale Größe haben? Wie/warum kann sich ein Stack * ADT * unterscheiden? –