필자는 주어진 코드를 편집하여 이미 존재하는 바이너리 트리에 요소를 허용하지 않는 방법을 찾아 내려고 노력했습니다. 내 암시는 테스터 외부의 두 가지 클래스를 수정하여 수행하는 것이 었습니다.중복 검색 트리에 중복을 허용하지 않으려면 어떻게합니까?
public void addNode(Node <T> newNode){
Comparable<T> tempElement = (Comparable<T>) newNode.element;
int comp = tempElement.compareTo(element);
if (comp < 0)
{
if (left == null)
{left = newNode;}
else
{left.addNode(newNode);}
}
else
{
if (right == null)
{right = newNode;}
else
{right.addNode(newNode);}
}
}
그리고 두 번째는 다음과 같습니다 :
나의 첫번째 클래스입니다 누군가가 나를 도울 수 있다면
public void add(T obj) // add root first
{
Node<T> newNode = new Node<T>(obj);
if (root == null) {
root = newNode;
} else {
root.addNode(newNode);
}
count++;
}
가 크게 감사하겠습니다!
'경우 (샘플 콘텐츠 == 0) '; 'else'를'else if (comp> 0)'로 변경하십시오. –
나는 캐스트에 대해 의심 스럽다. (비교 가능). 'element '를'T element;'로 선언하고'T extends Comparable '를 통해'T'를 묶었다면 명시 적으로 형변환 할 필요가 없습니다. –