ホームページ  >  記事  >  バックエンド開発  >  データ構造とアルゴリズム(PHP記述) トリプレット トリプレット

データ構造とアルゴリズム(PHP記述) トリプレット トリプレット

WBOY
WBOYオリジナル
2016-07-25 08:50:56944ブラウズ
データ構造とアルゴリズム(PHP記述) トリプレット トリプレット
  1. /**
  2. *トリプレット
  3. */
  4. class Triplet
  5. {
  6. private $_data = null;
  7. // トリプレットを初期化する
  8. public function init($val1, $val2, $val3)
  9. {
  10. $this -> _data[0] = $val1;
  11. $this ->data[1] = $val2;
  12. $this -> _data[2] = $val3;
  13. return true;
  14. } / トリプルを破棄します
  15. public function destroy()
  16. {
  17. unset($this -> _data);
  18. return true;
  19. }
  20. // $key の値を返します
  21. public function get($key)
  22. {
  23. if ($key < 1 || $key > 3) return false;
  24. return$this -> _data[$key-1];
  25. }
  26. // $key 要素の値を $val に設定します
  27. public function put($key, $val)
  28. {
  29. if ($key 3) return false;
  30. $this -> _data[$key-1] = $val;
  31. return true; ;
  32. }
  33. // 昇順でソートするかどうか
  34. public function isAscending()
  35. {
  36. return ($this -> _data[0] <= $this -> _data[1]) && ($this - < _data[1] <= $this -> _data[2]);
  37. }
  38. // 降順でソートするかどうか
  39. public function isDescending()
  40. {
  41. return ($this -> _data[0 ] > ;= $this -> _data[1]) && ($this -> _data[1] >= $this -> _data[2]);
  42. }
  43. // 最大値を取得する
  44. public function max( )
  45. {
  46. 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];
  47. }
  48. // 最小値を取得します
  49. public function min()
  50. {
  51. return ($this -> _data[0] < ;= $this -> _data[1])? ($this -> _data[0] <= $this -> _data[0] :$this - > _data[ 2] : ($this -> _data[1] <= $this -> _data[2])?$this -> _data[2] ;
  52. }
  53. }
  54. $objTriplet = new Triplet();
  55. echo"init:";
  56. var_dump($objTriplet -> init(1, 2, 3));
  57. echo"
    " ;
  58. echo "get 1:";
  59. var_dump($objTriplet -> get(1));
  60. echo"
    ";
  61. echo"get 4:";
  62. var_dump($objTriplet -> ; get(4 ));
  63. echo"
    "; // false
  64. echo"put 3,4:";
  65. var_dump($objTriplet -> put(3, 4));
  66. echo"
    ";
  67. echo"max:";
  68. var_dump($objTriplet -> max());
  69. echo"
    ";
  70. echo"min:";
  71. var_dump( $objTriplet -> ; min());
  72. echo"
    ";
  73. echo"isAscending:";
  74. var_dump($objTriplet -> isAscending());
  75. echo"
    echo"isDescending:";
  76. var_dump($objTriplet -> isDescending());
  77. echo"
    ";
  78. ?>
コードをコピー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。