[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/>";
?>
/**
* 三元组 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/>";
?>
相关文章推荐
- [php] 数据结构&算法(PHP描述) 快速排序 quick sort
- [php]数据结构&算法(PHP描述) 简单选择排序 simple selection sort
- 数据结构&算法(PHP描述) 三元组 Triplet
- [php]数据结构&算法(PHP描述) 半折插入排序 straight binary sort
- [php]数据结构&算法(PHP描述) 冒泡排序 bubble sort
- [php] 数据结构&算法(PHP描述) 查找&&二分法查找
- PHP 数据结构 算法 三元组 Triplet
- PHP 数据结构 算法 三元组 Triplet
- PHP 数据结构 算法 三元组 Triplet
- 数据挖掘-----算法描述 层次聚类
- 数据挖掘之分类(kNN算法的描述及使用)
- 用PHP描述数据结构栈的部分应用实例
- php 大数据量及海量数据处理算法总结
- PHP 数据结构 算法描述 冒泡排序 bubble sort
- php 大数据量及海量数据处理算法总结
- 数据结构与算法之递归算法 C++和PHP实现
- 【数据结构&算法】数据结构之单向链表(练习)
- 数据机构与算法分析:C语言描述 第五章——Priority Queues(Heaps)中的5.4.2 Event Simiulation
- 【读书笔记】数据结构与算法经典问题解析——Java语言描述【树】