Klasse MiniMaximizer
Die Klasse MiniMaximizer verarbeitet eine Folge von Paaren (Zahlenwert, Objekt) und merkt sich das Minimum und das Maximum bezüglich des Zahlenwerts zusammen mit dem jeweils dazugehörigen Objekt.
Die Zahlenwerte sind vom Typ Double.
Das folgende Programm zeigt die Implementierung in Visual Basic .NET.
Public Class MiniMaximizer
Private minval, maxval As Double
Private minobj, maxobj As Object
Private empty As Boolean
Public Sub New()
reset
End Sub
Public Sub reset()
minval = Double.PositiveInfinity
maxval = Double.NegativeInfinity
minobj = Nothing
maxobj = Nothing
empty = True
End Sub
Public Sub add(ByVal val As Double, ByVal obj As Object)
If empty Or val < minval Then
minval = val
minobj = obj
End If
If empty Or val > maxval Then
maxval = val
maxobj = obj
End If
empty = False
End Sub
Public Function getMinVal() As Double
Return minval
End Function
Public Function getMaxVal() As Double
Return maxval
End Function
Public Function getMinObj() As Object
Return minobj
End Function
Public Function getMaxObj() As Object
Return maxobj
End Function
Public Function isEmpty() As Boolean
Return empty
End Function
End Class
Ein MiniMaximizer wird in folgender Weise benutzt. Mit der Methode add werden mehrere Paare (Zahlenwert, Objekt) hinzugefügt. Der MiniMaximizer merkt sich das Minimum und das Maximum bezüglich des Zahlenwerts zusammen mit dem jeweils dazugehörigen Objekt. In diesem Beispiel liefert getMinObj das Objekt "minus1" und getMaxObj das Objekt "vier".
Private Sub testMiniMaximizer()
Dim s, t As String
Dim m As New MiniMaximizer()
m.add(3, "drei")
m.add(-1, "minus1")
m.add(4, "vier")
m.add(2, "zwei")
s = m.getMinObj()
t = m.getMaxObj()
Console.WriteLine(s)
Console.WriteLine(t)
End Sub
[up]
H.W. Lang mail@hwlang.de Impressum Datenschutz
Created: 06.02.2009 Updated: 19.02.2023
Diese Webseiten sind während meiner Lehrtätigkeit an der Hochschule Flensburg entstanden