Basisklassen

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 dazu­gehörigen Objekt.

 

<?php
class MiniMaximizer
{
    private $minval, $maxval;
    private $minobj, $maxobj;
    private $empty;

    public function MiniMaximizer()
    {
        $this->reset();
    }

    public function reset()
    {
        $this->minval=1e308;
        $this->maxval=-1e308;
        $this->minobj=null;
        $this->maxobj=null;
        $this->empty=true;
    }

    public function add($val, $obj=null)     
    {
        if ($this->empty || $val < $this->minval)
        {
            $this->minval=$val;
            $this->minobj=$obj;
        }
        if ($this->empty || $val > $this->maxval)
        {
            $this->maxval=$val;
            $this->maxobj=$obj;
        }
        $this->empty=false;
    }

    public function getMinVal()
    {
        return $this->minval;
    }

    public function getMaxVal()
    {
        return $this->maxval;
    }

    public function getMinObj()
    {
        return $this->minobj;
    }

    public function getMaxObj()
    {
        return $this->maxobj;
    }

    public function isEmpty()
    {
        return $this->empty;
    }

}
?>

 

[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