2011-03-09 4 views
1

여기에 성과와 이름의 정렬 된 이중 연결 목록을 구현하는 데 문제가 있습니다.두 배로 연결된 목록 Java

각 링크에 사전 순으로 다음 이름을 나타내는 필드를 추가하십시오. 기존의 다음 링크는 사전 순으로 다음 성을 나타내는 데 사용됩니다. 목록의 두 번째 루트 링크가 필요합니다. 기존 루트 링크는 알파벳 순서로 성을 나타내므로 알파벳순으로 첫 번째 이름을 나타내는 이름이 필요합니다. 목록에 입력 된 각 이름에 대해 하나의 링크 개체 만 가질 수 있습니다.

이 작업을 수행 한 후에는 삽입, 조회 및 삭제 메소드를 변경하여 인터리브 된 두 목록이 모두 유지되도록하십시오. 또한 정확성을 유지하기 위해 필요에 따라 런타임 예상 시간을 업데이트하십시오.

마지막으로, 이름을 사용하고 이름을 포함하여 모든 전체 이름을 반환하는 두 번째 조회 방법을 추가하고 이름 목록을 이름순으로 알파벳 순서대로 인쇄하는 두 번째 표시 방법을 추가합니다. 이러한 방법에 대한 런타임 예상치도 제공해야합니다.

그리고 어떻게해야합니까? 나는 이름과 성을 가진 하나의 링크드리스트를 이미 만들었지 만, 그것은 내가 얻을 수있는 한 멀리있다.

도움이 되시길 바랍니다. D

감사합니다.

+0

숙제? 그렇다면 그에 따라 태그를 지정해야합니다. – Nailuj

+0

그것은 가정과 같은 질문입니다. 있다면 숙제 태그를 추가하십시오. – Manoj

+0

고정 (10 자 이상) – Brendan

답변

1
  1. 두 개의 링크 필드 (nextFirstName, nextLastName)와 Name 개체 필드가있는 링크 클래스를 만듭니다.
  2. 삽입시 먼저 (성)이 새 텍스트를 검색하여 nextLastName 필드를 사용하여 삽입하십시오. 그런 다음 FirstFirstName 필드를 링크로 사용하여 FirstName과 동일하게 수행하십시오.
  3. ?????
  4. 이익!

이 이미 너무 어려운 안되는 이중 연결리스트로 확장하는 단일 연결리스트를 구현하기 때문에 숙제 :

+0

나는 3 단계가 다음과 같을 것이라고 생각한다. : 그렇다면 이익이된다. :) –

+0

물론! - 이제 우리는 이익을 얻습니다. – sleeplessnerd

1

처럼 많이 냄새가 않습니다. 이미 참조가 있습니다 (아래 그림 참조). 이제 참조를 뒤로 이동해야합니다. 또한 아래 그림의 파란색 선을 확인하십시오. 맞춤법 속성에 대한 추가 참조를 추가하십시오. 그래서 각 노드는 변수를해야합니다 :

private Node NextFirstName; 
private Node PreviousFirstName; 
private Node NextLastName; 
private Node PreviousLastName; 

enter image description here

+0

바로 뒤에 참조를 추가하는 것에 대해 알고 있습니다. 그러나 이름과 성 순서로 데이터를 유지하는 방법은 무엇입니까? – Brendan

+0

모든 데이터를 순서대로 유지하기 위해 삽입 할 때마다 약간의 패스가 필요할 것입니다. – amccormack

+1

내가 이것을 처음 보았을 때 가장 먼저 생각한 것은 'CRAP 3 살짜리 조카딸이 화면에 마커를 다시 그렸습니다.' :) –

0

당신은 역 참조를 필요가 없습니다를! 작업은 엔트리와 동일한 객체를 사용하는 2 개의 단일 연결 목록과 같은 것을 요구합니다. 모든 객체에는 두 개의 링크가 있습니다. 하나는 목록 A의 다음 항목으로, 다른 하나는 목록 B의 다음 항목으로 연결됩니다.