PHP 数据结构 算法 三元组 Triplet
前端之家收集整理的这篇文章主要介绍了
PHP 数据结构 算法 三元组 Triplet,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<div class="codetitle"><a style="CURSOR: pointer" data="44170" class="copybut" id="copybut44170" onclick="doCopy('code44170')"> 代码如下:
<div class="codebody" id="code44170">
<?
PHP /*
三元组 Triplet
/
class Triplet
{
private $_data = null;
// 初始化三元组
public function init($val1,$val2,$val3)
{
$this->_data[0] = $val1;
$this->_data[1] = $val2;
$this->_data[2] = $val3;
return true;
}
// 销毁三元组
public function destroy()
{
unset($this->_data);
return true;
}
// 返回第$key的值
public function get($key)
{
if($key < 1 || $key > 3) return false;
return $this->_data[$key - 1];
}
// 设置第$key元的值为$val
public function put($key,$val)
{
if($key < 1 || $key > 3) return false;
$this->_data[$key - 1] = $val;
return true;
}
// 是否按升序排序
public function isAscending()
{
return ($this->_data[0] <= $this->_data[1]) && ($this->_data[1] <= $this->_data[2]);
}
// 是否按降序排序
public function isDescending()
{
return ($this->_data[0] >= $this->_data[1]) && ($this->_data[1] >= $this->_data[2]);
}
//
获取最大值
public function max()
{
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];
}
//
获取最小值
public function min()
{
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 "
";
echo "get 1:";var_dump($objTriplet->get(1)); echo "
";
echo "get 4:";var_dump($objTriplet->get(4)); echo "
"; // false
echo "put 3,4:";var_dump($objTriplet->put(3,4)); echo "
";
echo "max:";var_dump($objTriplet->max()); echo "
";
echo "min:";var_dump($objTriplet->min()); echo "
";
echo "isAscending:";var_dump($objTriplet->isAscending()); echo "
";
echo "isDescending:";var_dump($objTriplet->isDescending()); echo "
";
?>