Data structure & algorithm (PHP description) Triplet Triplet
- /**
- * Triplet
- */
- class Triplet
- {
- private $_data = null;
- // Initialize triplet
- public function init($val1, $val2, $val3)
- {
- $this -> _data[0] = $val1;
- $this -> _data[1] = $val2;
- $this -> _data[2] = $val3;
- return true;
- }
- // Destroy the triple
- public function destroy()
- {
- unset($this -> _data);
- return true;
- }
- // Return the value of $key
- public function get($key)
- {
- if ($key < 1 || $key > 3) return false;
- return$this -> _data[$key-1];
- }
- // Set the value of the $key element to $val
- public function put($key, $val)
- {
- if ($key < 1 || $key > 3) return false;
- $this -> _data[$key-1] = $val;
- return true;
- }
- // Whether to sort in ascending order
- public function isAscending()
- {
- return ($this -> _data[0] <= $this -> _data[1]) && ($this - > _data[1] <= $this -> _data[2]);
- }
- // Whether to sort in descending order
- public function isDescending()
- {
- return ($this -> _data[0] > ;= $this -> _data[1]) && ($this -> _data[1] >= $this -> _data[2]);
- }
- // Get the maximum value
- 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];
- }
- // Get the minimum value
- 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"
";
-
- echo "get 1:";
- var_dump($objTriplet -> get(1));
- echo"
";
- echo"get 4:";
- var_dump($objTriplet -> get(4 ));
- echo"
"; // false
- echo"put 3,4:";
- var_dump($objTriplet -> put(3, 4));
- echo"
";
-
- echo"max:";
- var_dump($objTriplet -> max());
- echo"
";
- echo"min:";
- var_dump($objTriplet -> ; min());
- echo"
";
-
- echo"isAscending:";
- var_dump($objTriplet -> isAscending());
- echo"
";
- echo"isDescending:";
- var_dump($objTriplet -> isDescending());
- echo"
";
-
- ?>
Copy code
|