hashsetexample.pp 606 B

123456789101112131415161718192021222324252627282930313233
  1. {$mode objfpc}
  2. uses ghashset;
  3. type hashlli=class
  4. public
  5. class function hash(a:longint; b:SizeUInt):SizeUInt;
  6. end;
  7. setlli=specialize THashSet<longint, hashlli>;
  8. class function hashlli.hash(a:longint; b:SizeUInt):SizeUInt;
  9. begin
  10. hash:= a mod b;
  11. end;
  12. var data:setlli; i:longint; iterator:setlli.TIterator;
  13. begin
  14. data:=setlli.Create;
  15. for i:=0 to 10 do
  16. data.insert(i);
  17. {Iteration through elements}
  18. iterator:=data.Iterator;
  19. repeat
  20. writeln(iterator.Data);
  21. until not iterator.Next;
  22. {Don't forget to destroy iterator}
  23. iterator.Destroy;
  24. data.Destroy;
  25. end.