Queue/Definition: Difference between revisions

m
m (→‎{{header|Quackery}}: fixed comment)
Line 5,352:
 
=={{header|Vlang}}==
Updated to Vlang version 0.2.2
<lang vlang>const (
<lang go>const max_depth = 256
MaxDepth = 256
)
 
struct Queue {
mut:
data []f32 = [f32(0)].repeat(MaxDepthmax_depth)
depth int=0
head int=0
}
 
fn (q mut queue Queue) enqueue(vvalue f32) {
if qqueue.depth >= MaxDepthmax_depth || qqueue.depth < qqueue.head {
return
}
println('Enqueue: ${v value: 3.2f}')
qqueue.data[qqueue.depth] = vvalue
qqueue.depth++
}
 
fn (q mut queue Queue) dequeue() ?f32 {
if qqueue.depth > 0 && qqueue.head < qqueue.depth {
result := qqueue.data[qqueue.head]
qqueue.head++
println('Dequeue: top of Queue was ${result :3.2f}')
return result
}
Line 5,382 ⟶ 5,381:
}
 
fn (qqueue Queue) peek() ?f32 {
if qqueue.depth > 0 && qqueue.head < qqueue.depth {
result := qqueue.data[qqueue.head]
println('Peek: top of Queue is ${result :3.2f}')
return result
}
Line 5,391 ⟶ 5,390:
}
 
fn (qqueue Queue) empty() bool {
return qqueue.depth == 0
}
 
Line 5,401 ⟶ 5,400:
queue.enqueue(4.2)
println('Queue is empty? ' + if queue.empty() { 'Yes' } else { 'No' })
queue.peek() or { return }
queue.dequeue() or { return }
return
queue.dequeue() or { return }
}
queue.dequeue() or {
return
}
queue.dequeue() or {
return
}
queue.enqueue(1.2)
}
 
</lang>
{{out}}
Anonymous user