class Stack Element private int value private Stack
- Slides: 29
class Stack. Element { private int value; private Stack. Element next = null; Το επόμενο στοιχείο public Stack. Element(int value){ this. value = value; } public int get. Value(){ return value; } Επιστρέφει αντικείμενο public Stack. Element get. Next(){ return next; } public void set. Next(Stack. Element element){ next = element; } }
class Stack { private Stack. Element head; private int size = 0; Το πρώτο στοιχείο της στοίβας μας φτάνει για τα βρούμε όλα public int pop(){ if (size == 0){ // head == null System. out. println("Pop from empty stack"); System. exit(-1); } int value = head. get. Value(); Σταματάει την εκτέλεση του head = head. get. Next(); προγράμματος size --; return value; } public void push(int value){ Stack. Element element = new Stack. Element(value); element. set. Next(head); head = element; Τα αντικείμενα τύπου size ++; Stack. Element δημιουργούνται } μέσα στην Stack. }
Μέθοδος to. String() Χρειαζόμαστε μία Stack. Element μεταβλητή για να διατρέξει τα στοιχεία της στοίβας public String to. String(){ String return. String = ""; Int. Stack. Element e = head; for (int i = 0; i < size; i ++){ return. String = return. String + e. get. Value() + " "; e = e. get. Next(); } return. String; } public String to. String(){ Εναλλακτική υλοποίηση String return. String = ""; for (Int. Stack. Element e = head; e != null; for-loop που δεν διατρέχει ακεραίους e = e. get. Next()){ return. String = return. String + e. get. Value() + " "; } return. String; }
class Stack. Example { public static void main(String[] args){ Stack s = new Stack(); s. push(3); s. push(2); s. push(1); System. out. println(s. pop()); } }
class Person { private String name; private int number; public Person(String name, int num){ this. name = name; this. number = num; } public String to. String(){ return name+": "+number; } }
class Person. Stack. Element { private Person value; private Person. Stack. Element next; public Person. Stack. Element(Person val){ value = val; O constructor παίρνει σαν όρισμα το } αντικείμενο που έχει ήδη δημιουργηθεί public void set. Next(Person. Stack. Element element){ next = element; } public Person. Stack. Element get. Next(){ return next; } public Person get. Value(){ return value; } } Το αντικείμενο το χειριζόμαστε σαν μια οποιαδήποτε μεταβλητή
class Stack { private Person. Stack. Element head; H pop πλέον επιστρέφει μεταβλητή private int size = 0; τύπου Person public Person pop(){ if (size == 0){ // head == null System. out. println("Pop from empty stack"); return null; } int value = head. get. Value(); Επιστρέφουμε null για να head = head. get. Next(); σηματοδοτήσουμε ότι έγινε λάθος size --; (όχι απαραίτητα ο καλύτερος return value; τρόπος να το κάνουμε αυτό) } public void push(Person value){ Stack. Element element = new Stack. Element(value); element. set. Next(head); head = element; size ++; } }
class Stack. Example { public static void main(String[] args){ Person. Stack stack = new Person. Stack(); Person alice = new Person("Alice", 1); stack. push(alice); Person bob = new Person("Bob", 2); stack. push(bob); Person charlie = new Person("Charlie", 3); stack. push(charlie); System. out. println(stack. pop()); } } Προσοχή! Αν καλέσουμε άλλη μια φορά την pop θα πάρουμε runtime error γιατί προσπαθούμε να προσπελάσουμε null αναφορά
- Int sum(int a int n) int sum=0 i
- Interface calculator public int add(int a int b)
- Int max(int x int y)
- Public void drawsquare(int x, int y, int len)
- Public int divide(int a int b)
- Class person private int age
- Interface myinterface int foo(int x)
- Int main int argc char argv
- 7팩토리얼
- Constant int arduino
- Int main() int num=4
- Void swap(int a int b)
- Void f(int i) int j=0
- Max int
- Char argv
- Contoh value creation adalah
- Typedef int element
- Smash the stack
- Stack and stack pointer
- Stack=[] digunakan untuk memebuat stack dengan
- A { private int x; public a( val) { x = val; } }
- Private int
- Private int
- Private int
- String value of int
- Temario de java
- Typedef struct node int value
- Difference between data element and signal element
- Signal element vs data element