Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ee.ttu.algoritmid.dancers;
- import java.util.List;
- public class HW01 implements Dancers {
- Tree tree = new Tree();
- @Override
- public DancingCouple findPartnerFor(Dancer candidate) throws IllegalArgumentException {
- if (candidate == null) throw new IllegalArgumentException();
- if (candidate.getGender() != Dancer.Gender.MALE || candidate.getGender() != Dancer.Gender.FEMALE || candidate.getHeight() <= 0) {
- if (candidate.getName() == null || candidate.getName().length() == 0 || candidate.getHeight() <= 0 || candidate.getGender() == null) throw new IllegalArgumentException();
- if (candidate.getGender() == Dancer.Gender.MALE) {
- Node partner = tree.getMatchMale(candidate);
- if (partner != null) {
- tree.delete(partner);
- return new DancingCoupleImpl(candidate, partner.getDancer());
- } else {
- tree.insertMale(candidate);
- return null;
- }
- } else if (candidate.getGender() == Dancer.Gender.FEMALE) {
- Node partner = tree.getMatchFemale(candidate);
- if (partner != null) {
- tree.delete(partner);
- return new DancingCoupleImpl(partner.getDancer(), candidate);
- } else {
- tree.insertFemale(candidate);
- return null;
- }
- }
- } else throw new IllegalArgumentException();
- return null;
- }
- @Override
- public List<Dancer> returnWaitingList() {
- return tree.dancerList();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement