PHP 数据结构 算法 三元组 Triplet

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?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 "<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/>";
?>

相关文章

PHP基于curl后台远程登录正方教务系统的方法

PHP基于curl后台远程登录正方教务系统的方法

本文实例讲述了PHP基于curl后台远程登录正方教务系统的方法。分享给大家供大家参考,具体如下: 从去年想这个事情怎么解决,今年终于算是把他搞清楚了,但验证码必须要填。 如果你能像360...

一些需要禁用的PHP危险函数(disable_functions)

phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec(...

php unset全局变量运用问题的深入解析

PHP unset全局变量在实际使用中只能销毁局部变量,并不能实现全局变量的目的。下面我们就来具体解决这一问题。希望对大家有所帮助。PHP中语言中有些函数对于初学者来说在字面上是很难理解...

PHP中的访问修饰符简单比较

PHP中的访问修饰符简单比较

PHP public访问修饰符 示例: <?php header("content-type:text/html;charset=utf-8"); // BaseC...

PHP生成plist数据的方法

本文实例讲述了PHP生成plist数据的方法。分享给大家供大家参考。具体如下: 这段代码实现PHP数组转换为苹果plist XML或文本格式 <?PHP /** *...