PHP 数据结构 算法 三元组 Triplet


Posted in PHP onJuly 02, 2011
<?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 相关文章推荐
如何限制访问者的ip(PHPBB的代码)
Oct 09 PHP
php xfocus防注入资料
Apr 27 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
php购物车实现方法
Jan 03 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 PHP
php提交过来的数据生成为txt文件
Apr 28 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 #PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
Jul 01 #PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 #PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 #PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 #PHP
php编程实现获取excel文档内容的代码实例
Jun 28 #PHP
PHP学习笔记之数组篇
Jun 28 #PHP
You might like
php 读取shell管道传输过来的内容
2010/03/01 PHP
PHP 文件系统详解
2012/09/13 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
简单的js分页脚本
2009/05/21 Javascript
一句话JavaScript表单验证代码
2009/08/02 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
Javascript实现关闭广告效果
2021/01/29 Javascript
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
python实现五子棋游戏
2019/06/18 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
大学校庆邀请函
2014/01/11 职场文书
致800米运动员广播稿
2014/02/16 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android