[php]数据结构&算法(PHP描述) 三元组 Triplet

1 <? php
2 /* *
3 * 三元组 Triplet
4 *
5 */
6 class Triplet
7 {
8 private $_data = null ;
9
10 // 初始化三元组
11 public function init( $val1 , $val2 , $val3 )
12 {
13 $this -> _data[ 0 ] = $val1 ;
14 $this -> _data[ 1 ] = $val2 ;
15 $this -> _data[ 2 ] = $val3 ;
16 return true ;
17 }
18
19 // 销毁三元组
20 public function destroy()
21 {
22 unset ( $this -> _data);
23 return true ;
24 }
25
26 // 返回第$key的值
27 public function get( $key )
28 {
29 if ( $key < 1 || $key > 3 ) return false ;
30 return $this -> _data[ $key - 1 ];
31 }
32
33 // 设置第$key元的值为$val
34 public function put( $key , $val )
35 {
36 if ( $key < 1 || $key > 3 ) return false ;
37 $this -> _data[ $key - 1 ] = $val ;
38 return true ;
39 }
40
41 // 是否按升序排序
42 public function isAscending()
43 {
44 return ( $this -> _data[ 0 ] <= $this -> _data[ 1 ]) && ( $this -> _data[ 1 ] <= $this -> _data[ 2 ]);
45 }
46
47 // 是否按降序排序
48 public function isDescending()
49 {
50 return ( $this -> _data[ 0 ] >= $this -> _data[ 1 ]) && ( $this -> _data[ 1 ] >= $this -> _data[ 2 ]);
51 }
52
53 // 获取最大值
54 public function max ()
55 {
56 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 ];
57 }
58
59 // 获取最小值
60 public function min ()
61 {
62 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 ];
63 }
64 }
65
66 //
67 $objTriplet = new Triplet();
68 echo " init: " ; var_dump ( $objTriplet -> init( 1 , 2 , 3 )); echo " <br/> " ;
69
70 echo " get 1: " ; var_dump ( $objTriplet -> get( 1 )); echo " <br/> " ;
71 echo " get 4: " ; var_dump ( $objTriplet -> get( 4 )); echo " <br/> " ; // false
72 echo " put 3,4: " ; var_dump ( $objTriplet -> put( 3 , 4 )); echo " <br/> " ;
73
74 echo " max: " ; var_dump ( $objTriplet -> max ()); echo " <br/> " ;
75 echo " min: " ; var_dump ( $objTriplet -> min ()); echo " <br/> " ;
76
77 echo " isAscending: " ; var_dump ( $objTriplet -> isAscending()); echo " <br/> " ;
78 echo " isDescending: " ; var_dump ( $objTriplet -> isDescending()); echo " <br/> " ;
79 ?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值