您的位置:首页 > 理论基础 > 数据结构算法

[php]数据结构&算法(PHP描述) 三元组 Triplet

2011-07-02 22:04 543 查看
<?php
/**
* 三元组 Triplet
*
*/
class Triplet
{
private$_data=null;

// 初始化三元组
publicfunction init($val1,$val2,$val3)
{
$this->_data[0] =$val1;
$this->_data[1] =$val2;
$this->_data[2] =$val3;
returntrue;
}

// 销毁三元组
publicfunction destroy()
{
unset($this->_data);
returntrue;
}

// 返回第$key的值
publicfunction get($key)
{
if($key<1||$key>3) returnfalse;
return$this->_data[$key-1];
}

// 设置第$key元的值为$val
publicfunction put($key,$val)
{
if($key<1||$key>3) returnfalse;
$this->_data[$key-1] =$val;
returntrue;
}

// 是否按升序排序
publicfunction isAscending()
{
return ($this->_data[0] <=$this->_data[1]) && ($this->_data[1] <=$this->_data[2]);
}

// 是否按降序排序
publicfunction isDescending()
{
return ($this->_data[0] >=$this->_data[1]) && ($this->_data[1] >=$this->_data[2]);
}

// 获取最大值
publicfunctionmax()
{
return ($this->_data[0] >=$this->_data[1])? ($this->_data[0] >=$this->_data[2])?$this->_data[0] :$this->_data[2] : ($this->_data[1] >=$this->_data[2])?$this->_data[1] :$this->_data[2];
}

// 获取最小值
publicfunctionmin()
{
return ($this->_data[0] <=$this->_data[1])? ($this->_data[0] <=$this->_data[2])?$this->_data[0] :$this->_data[2] : ($this->_data[1] <=$this->_data[2])?$this->_data[1] :$this->_data[2];
}
}

//
$objTriplet=new Triplet();
echo"init:";var_dump($objTriplet->init(1,2,3)); echo"<br/>";

echo"get 1:";var_dump($objTriplet->get(1)); echo"<br/>";
echo"get 4:";var_dump($objTriplet->get(4)); echo"<br/>"; // false
echo"put 3,4:";var_dump($objTriplet->put(3,4)); echo"<br/>";

echo"max:";var_dump($objTriplet->max()); echo"<br/>";
echo"min:";var_dump($objTriplet->min()); echo"<br/>";

echo"isAscending:";var_dump($objTriplet->isAscending()); echo"<br/>";
echo"isDescending:";var_dump($objTriplet->isDescending()); echo"<br/>";
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: