Autor Beitrag
buster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66
Erhaltene Danke: 7

WIN 7
Delphi 2010 Prof
BeitragVerfasst: Mo 20.07.15 08:23 
Hallo zusammen,

gibt es eine effiziente Methode in Delphi, mit Mengen zu arbeiten (z.B. Schnittmenge ermitteln etc.)? Ich habe schon set of [] gefunden, aber das ist ja auf 255 Elemente begrenzt, die man vorher wohl auch noch mehr oder weniger festlegen muss. Bleibt dann wirklich nur noch, z.B. ein Array Wert für Wert durchzugehen und zu vergleichen?

Beste Grüße,
Bastian
Stundenplan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128
Erhaltene Danke: 32

Win 7
Delphi 7 Pers., C# (VS 2010 Express)
BeitragVerfasst: Mo 20.07.15 10:29 
Du könntest auch, falls ein Mengentyp mal "voll" wird, den Rest in einen anderen Mengentyp auslagern. Dann musst du zwar Operationen mehrfach schreiben, hättest aber sicher einen Performance-Gewinn im Gegensatz zu handgestrickten Array-Schleifen.

Für diesen Beitrag haben gedankt: buster
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Mo 20.07.15 10:49 
Hallo,

man kann auch mit TBits arbeiten
www.entwickler-ecke....ewtopic.php?t=112954

Gruß Horst

Für diesen Beitrag haben gedankt: buster
buster Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66
Erhaltene Danke: 7

WIN 7
Delphi 2010 Prof
BeitragVerfasst: Mo 20.07.15 13:40 
Danke für die schnellen Antworten, ich werd es dann erst mal mit dem Aufteilen der Mengen probieren. TBits schau ich mir auf jeden Fall auch noch mal an, aber im Moment fehlt mir da die Zeit dazu...
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mo 20.07.15 19:58 
Du kannst dir mal eine (beliebige) Hashset-Implementierng in Delphi suchen. Hier habe ich eine gefunden: github.com/pavkam/DeHL

Ein HashSet beinhaltet Werte und ermöglicht das schnelle Abfragen ob ein Wert enthalten ist. Das Delphi-Set ist also quasi ein compiler-magic Hashset mit eine maximalen Kapazität von 255. In neueren Delphis sollte so eine Klasse aber auch dabei sein.

Hier ist noch etwas nettes: bitbucket.org/sglien...s.Sets.pas?at=master verwendet aber Generics. Weiß nicht, ob dein Delphi das kann.

Für diesen Beitrag haben gedankt: buster