Java-Shildt-178TestStack2
Полный справочник по Java. Java SE 6 Edition. 7-е издание. Герберт Шилдт. "Вильямс", Москва - Санкт-Петербург - Киев, 2007, стр.178.
// 178
// Усовершенствованный класс Stack, в котором использован член длины массива.
class Stack {
private int stck[];
private int tos;
// распределение и инициализация стека
Stack(int size) {
stck = new int[size];
tos = -1;
}
// Проталкивание элемента в стек
void push(int item) {
if(tos==stck.length-1) // использование члена длины массива
System.out.println("Stack is fool.");
else
stck[++tos] = item;
}
// Выталкивание элемента из стека
int pop() {
if(tos < 0) {
System.out.println("Stack is not loaded.");
return 0;
}
// 179
else
return stck[tos--];
}
}
class TestStack2 {
public static void main(String args[]) {
Stack mystack1 = new Stack(5);
Stack mystack2 = new Stack(8);
// проталкивание чисел в стек
for(int i=0; i<5; i++) mystack1.push(i);
for(int i=0; i<8; i++) mystack2.push(i);
// выталкивание этих чисел из стека
System.out.println("Stack in mystack1:");
for(int i=0; i<5; i++)
System.out.println(mystack1.pop());
System.out.println("Stack in mystack2");
for(int i=0; i<8; i++)
System.out.println(mystack2.pop());
}
}