summaryrefslogtreecommitdiff
path: root/packages/fcl-stl/doc/priorityqueueexample.pp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/fcl-stl/doc/priorityqueueexample.pp')
-rw-r--r--packages/fcl-stl/doc/priorityqueueexample.pp30
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/fcl-stl/doc/priorityqueueexample.pp b/packages/fcl-stl/doc/priorityqueueexample.pp
new file mode 100644
index 0000000000..32756bc2d4
--- /dev/null
+++ b/packages/fcl-stl/doc/priorityqueueexample.pp
@@ -0,0 +1,30 @@
+{$mode objfpc}
+
+uses gpriorityqueue;
+
+type
+ lesslli = class
+ public
+ class function c(a,b: longint):boolean;inline;
+ end;
+
+class function lesslli.c(a,b: longint):boolean;inline;
+begin
+ c:=a<b;
+end;
+
+type priorityqueuelli = specialize TPriorityQueue<longint, lesslli>;
+
+var data:priorityqueuelli; i:longint;
+
+begin
+ data:=priorityqueuelli.Create;
+ for i:=1 to 10 do
+ data.Push(random(1000));
+ while not data.IsEmpty do begin
+ writeln(data.Top);
+ data.Pop;
+ end;
+
+ data.Destroy;
+end.