Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: Kleinster Wert in einem Set

  Alt 10. Mai 2006, 08:47
Die einzig saubere Lösung (wirklich sauber), ist die Implementierung von Blackjack (eventuell mit einer kleinen kosmetischen Korrektur):
Delphi-Quellcode:
function OrdMinElement(ASet: TAufzaehlungsMenge): Integer; // Liefert die Ordnungszahl
var
  i: TAufzaehlungsTyp;

begin
  Result := -1; // Falls die Menge leer ist
  for i := Low(TAufzaehlungsTyp) to High(TAufzaehlungsTyp) do
    if i in ASet then Begin
      Result := i;
      Exit;
    end;
end;
Wie gesagt, kosmetisch. Und schneller ist es auch, denn es wird nach dem ersten Element gleich zurück gesprungen.

Konsequent müsste man, um diese Funktion optimal abzubilden, eine eigene SET-Klasse schreiben, hier kann man mit Bitmustern, Arrays oder sonstwas arbeiten und diese Sonderfunktionen implementieren.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat