works
This commit is contained in:
@@ -46,4 +46,9 @@ public class Athlete implements ComparableContent<Athlete> {
|
|||||||
public boolean isLess(Athlete athlete) {
|
public boolean isLess(Athlete athlete) {
|
||||||
return getFinalTime() < athlete.getFinalTime();
|
return getFinalTime() < athlete.getFinalTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -257,8 +257,18 @@ public class BinarySearchTree<ContentType extends ComparableContent<ContentType>
|
|||||||
return node.right.node;
|
return node.right.node;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void printInOrder() {
|
public List<ContentType> getInOrder() {
|
||||||
//TODO
|
List<ContentType> inOrder = new List<>();
|
||||||
|
getPartTree(this, inOrder);
|
||||||
|
return inOrder;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getPartTree(BinarySearchTree<ContentType> tree, List<ContentType> inOrder) {
|
||||||
|
if (tree != null && tree.getContent() != null) {
|
||||||
|
getPartTree(tree.getLeftTree(), inOrder);
|
||||||
|
inOrder.append(tree.getContent());
|
||||||
|
getPartTree(tree.getRightTree(), inOrder);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,13 +22,24 @@ public class Competition {
|
|||||||
leaderboard.insert(runners.getContent());
|
leaderboard.insert(runners.getContent());
|
||||||
runners.next();
|
runners.next();
|
||||||
}
|
}
|
||||||
|
|
||||||
leaderboard.printInOrder();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Athlete[] top3() {
|
public Athlete[] top3() {
|
||||||
Athlete[] top = new Athlete[3];
|
Athlete[] top = new Athlete[3];
|
||||||
//TODO
|
List<Athlete> inOrder = leaderboard.getInOrder();
|
||||||
|
inOrder.toFirst();
|
||||||
|
top[0] = inOrder.getContent();
|
||||||
|
inOrder.next();
|
||||||
|
if (!inOrder.hasAccess()){
|
||||||
|
return top;
|
||||||
|
}
|
||||||
|
top[1] = inOrder.getContent();
|
||||||
|
inOrder.next();
|
||||||
|
if (!inOrder.hasAccess()){
|
||||||
|
return top;
|
||||||
|
}
|
||||||
|
top[2] = inOrder.getContent();
|
||||||
|
inOrder.next();
|
||||||
return top;
|
return top;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,11 @@ public class TestCompetition {
|
|||||||
competition.newRunner("a");
|
competition.newRunner("a");
|
||||||
|
|
||||||
competition.simulate();
|
competition.simulate();
|
||||||
|
|
||||||
|
Athlete[] top = competition.top3();
|
||||||
|
for (int i = 0; i < top.length; i++) {
|
||||||
|
System.out.println(top[i] + ": " + top[i].getFinalTime());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user