Advertisement
Guest User

Stack

a guest
Dec 5th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1.  
  2. /**
  3. *
  4. * <p>Klasse Stack</p>
  5. * <p>Objekte der Klasse Stack (Keller, Stapel) verwalten beliebige
  6. * Objekte nach dem Last-In-First-Out-Prinzip, d.h. das zuletzt
  7. * abgelegte Objekt wird als erstes wieder entnommen.</p>
  8. *
  9. *
  10. *
  11. * @version 2010-10-20
  12. */
  13. public class Stack {
  14. private Node head;
  15.  
  16. // Node
  17. /**
  18. *Die Klasse Node wird in der Klasse Stack erzeugt
  19. * Ein Knoten besteht aus einem Inhaltsobjekt
  20. * und einem Nachfolgeknoten.
  21. */
  22. private class Node {
  23. private Object content = null;
  24. private Node nextNode = null;
  25.  
  26. public Node(Object pObject) {
  27. content = pObject;
  28. nextNode = null;
  29. }
  30.  
  31. public void setNext(Node pNext) {
  32. nextNode = pNext;
  33. }
  34.  
  35. public Node getNext() {
  36. return nextNode;
  37. }
  38.  
  39. public Object getContent() {
  40. return content;
  41. }
  42. } // Ende Node
  43.  
  44. // Stack//G
  45. /**
  46. * Ein Leerer Stapel wird erzeugt
  47. */
  48. public Stack() {
  49. head = null;
  50. }
  51. //Y
  52. /**
  53. * Die Anfrage liefert den Wert true, wenn der Stapel
  54. * keine Objekte enthaelt, sonst liefert sie den Wert false.
  55. * @return true, falls der Stapel leer ist, sonst false.
  56. */
  57. public boolean isEmpty() {
  58. return (head == null);
  59. }
  60. //V
  61. /**
  62. * Das Objekt pObject wird oben auf den Stapel gelegt.
  63. * Falls pObject gleich null ist, bleibt der Stapel unveraendert.
  64. * @param pObject ist das einzufuegende Objekt.
  65. */
  66. public void push(Object pObject) {
  67. if (pObject != null) {
  68. Node lNode = new Node(pObject);
  69. lNode.setNext(head);
  70. head=lNode;
  71. }
  72. }
  73. //E
  74. /**
  75. *Das zuletzt eingefuegte Objekt wird von dem Stapel entfernt.
  76. * Falls der Stapel leer ist, bleibt er unveraendert.
  77. */
  78. public void pop() {
  79. if (!isEmpty())
  80. head = head.getNext();
  81. }
  82. //R
  83. /**
  84. *
  85. * Die Anfrage liefert das oberste Stapelobjekt.
  86. * Der Stapel bleibt unveraendert.
  87. * Falls der Stapel leer ist, wird null zurueck gegeben.
  88. * @return Inhaltsobjekt
  89. */
  90. public Object top() {
  91. if (!this.isEmpty())
  92. return head.getContent();
  93. else
  94. return null;
  95. }
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement