Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void printprocess() {
- int currentTime = 0;
- int totalCost = 0;
- BinaryHeap hasBeenStarted = new BinaryHeap(numVertex);
- BinaryHeap toBeStarted = new BinaryHeap(numVertex);
- Vertex vtx = deleteMin();
- toBeStarted.insert(vtx);
- // Output
- while ( !hasBeenStarted.isEmpty() || !toBeStarted.isEmpty() ) {
- System.out.println("TIME: " + currentTime);
- while( !toBeStarted.isEmpty() && findMin().cost == currentTime ) {
- hasBeenStarted.insert(toBeStarted.findMin());
- System.out.println("Starting: " + toBeStarted.deleteMin().getId());
- }
- while ( !hasBeenStarted.isEmpty() && findMin().cost == currentTime ) {
- System.out.println("Finished: " + hasBeenStarted.deleteMin().getId());
- }
- vtx = deleteMin();
- while (findMin().getCost() == vtx.cost) {
- toBeStarted.insert(deleteMin());
- }
- currentTime = hasBeenStarted.findMin().cost > toBeStarted.findMin().cost ? toBeStarted.findMin().cost : hasBeenStarted.findMin().cost;
- }
- }
Add Comment
Please, Sign In to add comment