builtup4/src/collections/deque.bu4
2021-07-24 15:50:38 +03:00

97 lines
1.9 KiB
Plaintext

{ (g) /? /? /? /? /[1][g] | dequeEmpty }
{ (item) (g) /[item]/[dequeEmpty]/[item]/[dequeEmpty]/[0][g] | dequeSingle }
{
(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
[lPopped]
|
dequeLPopped
}
{
(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
[lItem]
|
dequeLItem
}
{
(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
[rPopped]
|
dequeRPopped
}
{
(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
[rItem]
|
dequeRItem
}
{
/(dequeLPush)
(deque)(item)
/(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
/
(g) /[rItem]/</[item]/[rPopped][dequeLPush]>/[item]/[deque]/[0] [g]
/
/[item][dequeSingle]
[isEmpty]
[deque]
[YC]
|
dequeLPush
}
{
/(dequeRPush)
(deque)(item)
/(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
/
(g) /[item]/[deque]/[lItem]/</[item]/[lPopped][dequeRPush]>/[0] [g]
/
/[item][dequeSingle]
[isEmpty]
[deque]
[YC]
|
dequeRPush
}
{
(_0)(_1)(_add)
/(dequeLength)
(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
/
/
/[dequeLength][lPopped]
/
[_1]
[_add]
/
[_0]
[isEmpty]
[YC]
|
dequeLLength
}
{
(_0)(_1)(_add)
/(dequeLength)
(isEmpty)(lPopped)(lItem)(rPopped)(rItem)
/
/
/[dequeLength][rPopped]
/
[_1]
[_add]
/
[_0]
[isEmpty]
[YC]
|
dequeRLength
}