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调用mysql存储过程
Feb 14 PHP
实用函数7
Nov 08 PHP
40个迹象表明你还是PHP菜鸟
Sep 29 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
详细解读PHP的Yii框架中登陆功能的实现
Aug 21 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 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
星际争霸秘籍
2020/03/04 星际争霸
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
python处理csv数据的方法
2015/03/11 Python
python 换位密码算法的实例详解
2017/07/19 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
Python3分析处理声音数据的例子
2019/08/27 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
Python面试题集
2012/03/08 面试题
国贸专业个人求职信范文
2014/01/08 职场文书
大学活动策划书范文
2014/01/10 职场文书
2014年征兵标语
2014/06/20 职场文书
学校师德师风整改措施
2014/10/27 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
python 管理系统实现mysql交互的示例代码
2021/12/06 Python
基于Python实现射击小游戏的制作
2022/04/06 Python
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS