Queue/Definition: Difference between revisions
→{{header|Vlang}}
(→{{header|Picat}}: Split into subsections.) |
|||
Line 6,221:
=={{header|Vlang}}==
Updated to Vlang version 0.2.2
<lang
struct Queue<T> {
mut:
data []
head int
}
fn (mut queue Queue<T>)
if queue.
return
}
println('
queue.data
queue.
}
fn (mut queue Queue<T>)
if queue.
result := queue.data[queue.head]
queue.head++
println('Dequeue: top of Queue was $
return result
}
return error('Queue Underflow!!')
}
fn (queue Queue<T>) peek()
if queue.
result := queue.data[queue.head]
println('Peek: top of Queue is $
return result
}
return error('Out of Bounds...')
}
fn (queue Queue<T>) empty() bool {
return queue.
}
fn main() {
mut queue := Queue<f64>{}
println('Queue is empty? ' + if queue.empty() { 'Yes' } else { 'No' })
queue.
queue.
println('Queue is empty? ' + if queue.empty() { 'Yes' } else { 'No' })
queue.peek() or { return }
queue.
queue.
queue.
}</lang>▼
▲</lang>
{{out}}
<pre>Queue is empty? Yes
|