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