Queue/Definition: Difference between revisions

add BQN
(add BQN)
Line 1,492:
Error: queue empty
</pre>
 
=={{header|BQN}}==
 
Queues are already straightforward to make in BQN via its convenient builtins. This object is made for demonstration of BQN's object oriented features. It would generally be much simpler to apply the related functions to an array instead of creating a big object.
 
<lang bqn>queue ← {
data ← ⟨⟩
Push ⇐ {data∾˜↩𝕩}
Pop ⇐ {
𝕊𝕩:
0=≠data ? •Show "Cannot pop from empty queue";
(data↓˜↩¯1)⊢⊑⌽data
}
Empty ⇐ {𝕊𝕩: 0=≠data}
Display ⇐ {𝕊𝕩: •Show data}
}
 
q1 ← queue
 
•Show q1.Empty@
q1.Push 3
q1.Push 4
q1.Display@
•Show q1.Pop@
q1.Display@</lang><lang>1
⟨ 4 3 ⟩
3
⟨ 4 ⟩</lang>
 
=={{header|Bracmat}}==
236

edits