139
public Node next;
public object data;
public Node(Node next, object data) //
конструк-
тор
{
this.next = next;
this.data = data;
}
}
Поля
top и
tail показывают на начало стека и конец очереди. Для
реализации механизмов работы со стеками и очередями введем две перемен-
ные
myStack и
path. Для работы со стеком
предназначены следующие
процедуры:
•
инициализация;
•
проверка на пустоту стека;
•
помещение элемент в стек;
• извлечение элемент из стека.
При инициализации необходимо просто
направить вершину и конец
стека на
null (листинг 5.3).
Листинг 5.3. Инициализация стека/очереди
public MyStack() //
конструктор
{
top = null;
tail = null;
}
При проверке пустоты стека необходимо проверить, что вершина стека
показывает на
null (листинг 5.4).
Листинг 5.4. Проверка пустоты стека/очереди
public bool isEmpty() //
проверка на пустоту
{
return top == null;
}
1 / 23
140
При добавлении необходимо создать новый экземпляр узла, поле
next
которого
будет показывать на вершину, и переместить
вершину на новый
элемент (листинг 5.5).
Do'stlaringiz bilan baham: