Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
|
|
@ -6,3 +6,5 @@ Operations:
|
|||
* push (aka ''enqueue'') - add element
|
||||
* pop (aka ''dequeue'') - pop first element
|
||||
* empty - return truth value when empty
|
||||
|
||||
{{Template:See also lists}}
|
||||
|
|
|
|||
15
Task/Queue-Usage/ALGOL-68/queue-usage-1.alg
Normal file
15
Task/Queue-Usage/ALGOL-68/queue-usage-1.alg
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# -*- coding: utf-8 -*- #
|
||||
MODE DIETITEM = STRUCT(
|
||||
STRING food, annual quantity, units, REAL cost
|
||||
);
|
||||
|
||||
# Stigler's 1939 Diet ... #
|
||||
FORMAT diet item fmt = $g": "g" "g" = $"zd.dd$;
|
||||
[]DIETITEM stigler diet = (
|
||||
("Cabbage", "111","lb.", 4.11),
|
||||
("Dried Navy Beans", "285","lb.", 16.80),
|
||||
("Evaporated Milk", "57","cans", 3.84),
|
||||
("Spinach", "23","lb.", 1.85),
|
||||
("Wheat Flour", "370","lb.", 13.33),
|
||||
("Total Annual Cost", "","", 39.93)
|
||||
)
|
||||
20
Task/Queue-Usage/ALGOL-68/queue-usage-2.alg
Normal file
20
Task/Queue-Usage/ALGOL-68/queue-usage-2.alg
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/a68g --script #
|
||||
# -*- coding: utf-8 -*- #
|
||||
|
||||
MODE OBJVALUE = DIETITEM;
|
||||
PR read "prelude/link.a68" PR;# c.f. [[rc:Queue/Definition]] #
|
||||
PR read "prelude/queue_base.a68" PR; # c.f. [[rc:Queue/Definition]] #
|
||||
|
||||
PR read "test/data_stigler_diet.a68" PR;
|
||||
OBJQUEUE example queue; obj queue init(example queue);
|
||||
|
||||
FOR i TO UPB stigler diet DO
|
||||
# obj queue put(example queue, stigler diet[i]) or ... #
|
||||
stigler diet[i] +=: example queue
|
||||
OD;
|
||||
|
||||
printf($"Get remaining values from queue:"l$);
|
||||
WHILE NOT obj queue is empty(example queue) DO
|
||||
# OR example queue ISNT obj queue empty #
|
||||
printf((diet item fmt, obj queue get(example queue), $l$))
|
||||
OD
|
||||
22
Task/Queue-Usage/Component-Pascal/queue-usage.component
Normal file
22
Task/Queue-Usage/Component-Pascal/queue-usage.component
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
MODULE UseQueue;
|
||||
IMPORT StdLog,Queue,Boxes;
|
||||
|
||||
PROCEDURE Do*;
|
||||
VAR
|
||||
q: Queue.Queue;
|
||||
o: Boxes.Object;
|
||||
BEGIN
|
||||
q := Queue.NewQueue(6);
|
||||
q.Push(Boxes.NewInteger(1));
|
||||
q.Push(Boxes.NewInteger(2));
|
||||
q.Push(Boxes.NewInteger(3));
|
||||
o := q.Pop();
|
||||
o := q.Pop();
|
||||
q.Push(Boxes.NewInteger(4));
|
||||
o := q.Pop();
|
||||
o := q.Pop();
|
||||
q.Push(Boxes.NewInteger(5));
|
||||
o := q.Pop();
|
||||
StdLog.String("Is empty: ");StdLog.Bool(q.IsEmpty());StdLog.Ln
|
||||
END Do;
|
||||
END UseQueue.
|
||||
4
Task/Queue-Usage/Nemerle/queue-usage.nemerle
Normal file
4
Task/Queue-Usage/Nemerle/queue-usage.nemerle
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
mutable q = Queue(); // or use immutable version as per Haskell example
|
||||
def empty = q.IsEmpty(); // true at this point
|
||||
q.Push(empty); // or Enqueue(), or Add()
|
||||
def a = q.Pop(); // or Dequeue() or Take()
|
||||
12
Task/Queue-Usage/Nimrod/queue-usage.nimrod
Normal file
12
Task/Queue-Usage/Nimrod/queue-usage.nimrod
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import queues
|
||||
|
||||
var deq: TQueue[int] = initQueue[int]()
|
||||
|
||||
deq.enqueue(26)
|
||||
deq.add(99) # same as enqueue()
|
||||
deq.enqueue(2)
|
||||
echo("Dequeue size: ", deq.len())
|
||||
echo("De-queue: ", deq.dequeue())
|
||||
echo("De-queue: ", deq.dequeue())
|
||||
echo("De-queue: ", deq.dequeue())
|
||||
#echo("De-queue: ", deq.dequeue()) # dequeue an empty dequeue raises [EAssertionFailed]
|
||||
Loading…
Add table
Add a link
Reference in a new issue