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 相关文章推荐
PHP如何透过ODBC来存取数据库
Oct 09 PHP
第十四节--命名空间
Nov 16 PHP
php 静态变量的初始化
Nov 15 PHP
php入门学习知识点四 PHP正则表达式基本应用
Jul 14 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
Zend的Registry机制的使用说明
May 02 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
PHP chop()函数讲解
Feb 11 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
介绍Python中几个常用的类方法
2015/04/08 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
Python使用xpath实现图片爬取
2020/09/16 Python
Linux文件系统类型
2012/09/16 面试题
怎样自定义一个异常类
2016/09/27 面试题
银行简历自我评价
2014/02/11 职场文书
工作分析计划书
2014/04/30 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
就业协议书
2014/09/12 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
辩论会主持词
2015/07/03 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
springboot入门 之profile设置方式
2022/04/04 Java/Android