Home  >  Article  >  Backend Development  >  PHP 数据结构 算法 三元组 Triplet_PHP

PHP 数据结构 算法 三元组 Triplet_PHP

WBOY
WBOYOriginal
2016-06-01 12:16:271034browse
复制代码 代码如下:
/**
* 三元组 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 3) return false;
return $this->_data[$key - 1];
}
// 设置第$key元的值为$val
public function put($key,$val)
{
if($key 3) return false;
$this->_data[$key - 1] = $val;
return true;
}
// 是否按升序排序
public function isAscending()
{
return ($this->_data[0] _data[1]) && ($this->_data[1] _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] _data[1])? ($this->_data[0] _data[2])? $this->_data[0] : $this->_data[2] : ($this->_data[1] _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 "
";
?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn