printf("Using reduce\n"); $deque->reduce(create_function('$sum,$obj', 'printf("%s\\n", str($obj));'), ''); printf("Using foreach\n"); foreach ($deque as $obj) { printf("%s\n", str($obj)); } printf("Dequeueing\n"); while (!$deque->isEmpty()) { printf("%s\n", str($deque->dequeueHead())); if ($deque->isEmpty()) { break; } printf("%s\n", str($deque->dequeueTail())); } } /** * Main program. * * @param array $args Command-line arguments. * @return integer Zero on success; non-zero on failure. */ public static function main($args) { printf("AbstractDeque main program.\n"); $status = 0; return $status; } } if (realpath($argv[0]) == realpath(__FILE__)) { exit(AbstractDeque::main(array_slice($argv, 1))); }
/** * Main program. * * @param array $args Command-line arguments. * @return integer Zero on success; non-zero on failure. */ public static function main($args) { printf("DequeAsLinkedList main program.\n"); $status = 0; $deque = new DequeAsLinkedList(); AbstractDeque::test($deque); return $status; }