priorityqueueexample.pp 505 B

123456789101112131415161718192021222324252627282930
  1. {$mode objfpc}
  2. uses gpriorityqueue;
  3. type
  4. lesslli = class
  5. public
  6. class function c(a,b: longint):boolean;inline;
  7. end;
  8. class function lesslli.c(a,b: longint):boolean;inline;
  9. begin
  10. c:=a<b;
  11. end;
  12. type priorityqueuelli = specialize TPriorityQueue<longint, lesslli>;
  13. var data:priorityqueuelli; i:longint;
  14. begin
  15. data:=priorityqueuelli.Create;
  16. for i:=1 to 10 do
  17. data.Push(random(1000));
  18. while not data.IsEmpty do begin
  19. writeln(data.Top);
  20. data.Pop;
  21. end;
  22. data.Destroy;
  23. end.