LinkedList를 통해 Java 구현을 보았습니다. 내가 링크드리스트를 시도하고 구현한지 얼마 전, 포인터와 주소 및 많은 노력이 필요했습니다. Java를 사용하면 구현이 쉬우나 여전히 일부 작업을 수행했습니다. 제가 링크드리스트에 대해 알고있는 것은 다음 다이어그램에서 명확합니다. 1,2,3,4는 링크드리스트의 노드입니다. Java에서 Linkedlist 구현은 C++에서 linkedlist와 같지 않습니다.
그러나 자바에서는 LinkedList를 다음 그림과 같이 생각하게했습니다. 다음과 같이 자바에서 LinkedList의 구현 코드는
, 다이어그램에서
class LinkedListNode
{
LinkedListNode nextNode = null;//consider this member variable
int data;
public LinkedListNode(int data)
{
this.data = data;
}
void appendItemToLinkedList(int newData)
{
LinkedListNode end = new LinkedListNode(newData);
LinkedListNode temp = this;
while (temp.nextNode != null) { temp = temp.nextNode; }
temp.nextNode = end;
}
}
및
public static void main(String[] args)
{
LinkedListNode list = new LinkedListNode(10);
list.appendItemToLinkedList(20);
list.appendItemToLinkedList(30);
list.appendItemToLinkedList(40);
list.appendItemToLinkedList(50);
list.appendItemToLinkedList(60);
}
, 당신은 노드 객체가 다른 노드 객체 내부에 명확하게 볼 수 있습니다. 정말 연결된 목록인가요? 아니면 다른 컨테이너를 들고있는 부모 컨테이너입니까? 목록은 하나의 다른 (는 LinkedList
형이었던 것인지 같이 원시 형)을 포함한다는 생각에서
무엇이 문제입니까? – Marievi
나는 당신이 이것을 잘못 생각하고 있다고 생각합니다. 자바 링크 된 목록, 후드 아래, likey는 C가하는 것과 같은 방식으로 포인터를 사용합니다. –
자바 링크드리스트의 중앙에 tootsie 롤이 있습니까? –