단일 연결 목록
다음은 단일 연결 목록의 표현입니다.
연결 목록의 마지막 노드는 주소를 포함하지 않는 null을 가리킵니다.
따라서 연결 목록의 한 노드에는 다음이 포함됩니다. - 데이터 요소와 다음 노드의 주소. 다음과 같이 코딩해 보겠습니다.
따라서 노드에 대한 하위 클래스가 있는 연결 목록 클래스를 만들 것입니다.
첫 번째 노드에 데이터 요소가 포함되고 두 번째 노드에 대한 주소가 포함되고 두 번째 노드에 데이터 요소가 포함되고 그 뒤에 노드가 없기 때문에 null을 가리키는 연결 목록의 두 노드를 생성했다고 가정합니다.
첫 번째 노드를 사용하여 두 번째 노드에 액세스할 수 있지만 첫 번째 노드에 어떻게 액세스할까요?
연결 목록의 첫 번째 노드를 가리키는 포인터가 필요합니다.
그래서 우리는 연결 리스트의 첫 번째 노드를 가리키기 위해 'head'라고 부를 노드를 만들 것입니다.
이제 연결 목록의 각 노드에 쉽게 액세스할 수 있고 헤드를 사용하여 첫 번째 노드에 액세스할 수 있고 첫 번째 노드를 사용하여 두 번째 노드에 액세스할 수 있습니다.
위의 내용은 다음과 같이 코딩할 수 있습니다.
public class LinkedList {
private Node head;
private class Node {
private int value;
private Node next;
}
}
나는 당신이 미리 객체 지향 프로그래밍에 어느 정도 익숙하다고 가정합니다.
이제 연결 목록의 노드를 만들 때 노드에 포함된 데이터 요소가 될 값을 전달하려고 합니다. 따라서 이 목적을 위해 노드 클래스의 생성자를 생성합니다.
public Node(int value) {
this.value = value;
this.next= null;
}
이제 전체 코드가 아래와 같습니다.
public class LinkedList {
private Node head;
private class Node {
private int value;
private Node next;
public Node(int value) {
this.value = value;
this.next= null;
}
}
}
이제 연결 리스트에서 수행할 수 있는 작업을 살펴보겠습니다. 이러한 연결 목록에서 수행할 수 있는 6가지 기본 작업이 있으며 이러한 작업을 통해 상황이 명확해집니다.
연결 리스트 순회
연결 목록에서 고려해야 할 가장 중요한 사항은 다음과 같습니다.
If the head node is lost the whole list is lost.
연결 목록을 탐색하기 위해 노드를 만들고 이를 헤드 노드와 동일하게 설정합니다. 즉, 목록의 첫 번째 노드도 가리킬 것입니다.
언제
temp == null
연결 목록의 끝에 도달했음을 의미합니다.
다음은 연결 목록을 탐색하는 코드입니다.
public void traverse() {
Node temp = head;
while (temp != null) {
temp = temp.next;
}
}
나머지 작업은 다음 블로그에서 계속하겠습니다. 계속 지켜봐 주세요 :)
Reference
이 문제에 관하여(단일 연결 목록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/itsdr9/singly-linked-lists-5434텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)