2011-09-16 8 views
2

내 클래스에는 산술 연산이있는 Number 클래스를 만들기위한 지정이 있습니다. (덧셈/뺄셈/곱하기 등)이중 연결 목록 혼동

두 부분으로 나뉘어서 혼란스러워하는 부분이 있습니다. 그것을 설명하는 스펙의 유일한 부분은 다소 혼란 스럽습니다. 나는 무엇을 저장해야하는지 모르겠다 - 모든 숫자가 입력 되었는가? 고위 수표 노드에 높은 점수를 주었다고 ... 그게 무슨 뜻인지는 모르겠다. 또한, 이중 연결리스트를 구현하는 방법을 정확히 모르겠다. 다음 '고위 수'에 대한 참조가 있습니까?

ALSO - Node은 무엇입니까? 과제는 단지 내가 class Number을 만들 것이라고 말하고 있지만 자바 API의 Node는 HTML 태그와 관련이 있다고 말합니다. Number low, high을 사용해야하지 않습니까 ???

숫자는 이중 연결리스트 (여기에 제네릭을 사용하지 않습니다)에 저장됩니다 : 여기

는 이중 연결리스트 부분을 자세히 사양의 일부입니다. 각 노드는 에 1 자리 (0-9)와 두 개의 포인터 필드, 즉 prev와 next를 보유 할 int 값 필드를 갖습니다.

The Number class will have five fields: 

private Node low, high; 
private int digitCount = 0; 
private int decimalPlaces = 0; 
private boolean negative = false; 
상위 디지트의 노드

고점 상기 하위 디지트의 노드로 낮은 점 digitCount리스트에 저장된 자릿수, decimalPlaces는 자릿수이다 (노드) 소수점 다음에 이 나오고 음수 인 경우 부호가 나타납니다.

정확하게 해결책을 물어 보지 않고 약간의 지침과 이해를 요구합니다. 주어진 도움을 진심으로 감사드립니다.

답변

1

이 컨텍스트의 노드는 연결된 목록의 요소입니다.

당신은 각각의 노드가 하나의 숫자를 포함하는 연결리스트로 숫자를 표현하기 위해 해야하는 것 같다

..

그래서 수

12.34

는, 거기에 4 개 노드가됩니다 1, 2, 3 및 4 각각에 하나씩. 숫자에는 digitCount가 2이고 decimalPlaces가 2입니다. 소수점 앞뒤에 각각 2 자리 숫자가 있기 때문입니다.

연결된 목록

1 <-> 2 <-> 3 <-> 4

<->가 (. 모두 이전 및 다음 노드에 대한 포인터) 아마에서 포인터가 있어야 연결리스트의 이중 연결 특성을 나타냅니다

과 같아야 1 < -> 목록이 원형으로되어 있다면

당신의 Number 클래스의 개요와 같은

public class DigitNode { 
    int digit; 
    DigitNode next; 
    DigitNode prev; 
} 

메신저 무시하는 것처럼 보일 것이다

public class MyNumber { 
    DigitNode low; 
    DigitNode high; 
    int digitCount; 
    int decimalPlaces; 
    bool negative; 
} 

당신의 DigitNode 클래스 개요 같을 것이다/개인 보호 및 setter/게터 같은 것들. 이제 low 속성을 가져 와서 'next'속성을 가져 와서 next이 null 일 때까지 루핑하여 숫자를 반복하는 것과 같은 작업을 수행 할 수 있습니다.

+0

그래서 Node 클래스를 구현해야합니까? 또는 Node는 실제로 Number에 대한 참조 여야합니까? – Cody

+1

@doctor, 코드 개요로 업데이트되었습니다. 이렇게하면 시작할 수는 있지만 여전히 어려운 일을해야합니다. 'Number' * class *는 연결된리스트를 사용하여 숫자를 표현합니다. 각 숫자는 Node에 있습니다. – hvgotcodes

+0

Perfect. 고마워요! 이것은 매우 도움이됩니다. – Cody

1

숫자가 사양에서이 텍스트를 기반으로, 노드 것 같습니다 :

...the number of digits (nodes) after the... 

고 주문, 이러한 맥락에서, (10)의 다음 전원을 의미하는 것 같다, 그래서 다음으로 큰 자리 , 낮은 순서가 그 다음의 가장 낮은 자리수가되는 것처럼 보입니다.