215
правок
Изменения
Стек
,Нет описания правки
Каждую операцию над стеком можно легко реализовать несколькими строками кода:
'''function''' push(s: stack<T>, elemeent: T):
s.top = s.top + 1
s[s.top] = element
'''T''' pop(s: stack<T>):
'''if''' stackEmpty(s)
'''return''' error "underflow"
'''return''' s[s.top + 1]
'''boolean''' stackEmpty(s: stack<T>):
'''return''' s.top == 0
'''int''' size(s: stack<T>)
'''if''' head > tail
'''return''' n - head + tail
* <tex>head.next</tex> {{---}} значение следующее за верхушкой стека
'''function''' push(element: T):
newHead = ListItem(head, element)
head = newHead
* <tex>size</tex> {{---}} размер стека
'''function''' push(element: T):
'''if''' head == size - 1
'''T''' newStack[size * 2]