/** * Main program. * * @param array $args Command-line arguments. * @return integer Zero on success; non-zero on failure. */ public static function main($args) { printf("Application program number 11.\n"); $status = 0; $g = new GraphAsMatrix(32); Application11::weightedGraphTest($g); $g = new GraphAsLists(32); Application11::weightedGraphTest($g); $g = new DigraphAsMatrix(32); Application11::weightedDigraphTest($g); $g = new DigraphAsLists(32); Application11::weightedDigraphTest($g); printf("Critical path analysis.\n"); $g = new DigraphAsMatrix(10); for ($v = 0; $v < 10; ++$v) { $g->addVertex($v); } $g->addEdge(0, 1, box(3)); $g->addEdge(1, 2, box(1)); $g->addEdge(1, 3, box(4)); $g->addEdge(2, 4, box(0)); $g->addEdge(3, 4, box(0)); $g->addEdge(4, 5, box(1)); $g->addEdge(5, 6, box(9)); $g->addEdge(5, 7, box(5)); $g->addEdge(6, 8, box(0)); $g->addEdge(7, 8, box(0)); $g->addEdge(8, 9, box(2)); printf("%s\n", str($g)); $g2 = Algorithms::criticalPathAnalysis($g); printf("%s\n", str($g2)); return $status; }