English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 예제에서는 Java에서 한 번의 이터레이션으로 링크드리스트의 중간 요소를 얻는 방법을 배웁니다
이 예제를 이해하려면, 먼저 다음 튜토리얼을 방문해야 합니다
class LinkedList { //Node 클래스의 객체를 생성합니다 //리스트의 머리를 나타냅니다 Node head; //정적 내부 클래스 static class Node { int value; //각 노드를 다음 노드에 연결합니다 Node next; Node(int d) { value = d; next = null; } } public static void main(String[] args) { //LinkedList 객체를 생성합니다 LinkedList 객체를 생성합니다 //LinkedList linkedList = new LinkedList(); 링크드 리스트의 각 노드에 값을 할당합니다1); linkedList.head = new Node(2); Node second = new Node(3); //Node third = new Node( 링크드 리스트의 각 노드를 다음 노드에 연결합니다 linkedList.head.next = second; //second.next = third; 링크드 리스트를 출력합니다 Node pointer = linkedList.head; System.out.print("LinkedList: " while (pointer != null) { + System.out.print(pointer.value "); } // pointer = pointer.next; 중간 요소를 찾습니다1 Node ptr 중간 요소를 찾습니다2 Node ptr 위의 예제에서는 Java로 링크드 리스트 데이터 구조를 구현했습니다. 그런 다음, 반복에서 중간 요소를 찾았습니다. 코드에 주의하세요:1while (ptr //.next != null) {1증가2ptr2증가1 //ptr1마지막 요소로 가게 됩니다 //ptr2중간 요소로 가게 됩니다 ptr1 = ptr1.next; if(ptr1.next != null) { ptr1 = ptr1.next; ptr2 = ptr2.next; } } = linkedList.head; + ptr2System.out.println("\n중간 요소: " } }
출력 결과
.value); 1 2 3 LinkedList: 2
중간 요소:
위의 예제에서는 Java로 링크드 리스트 데이터 구조를 구현했습니다. 그런 다음, 반복에서 중간 요소를 찾았습니다. 코드에 주의하세요:1while (ptr //.next != null) {1증가2ptr2증가1 //ptr1마지막 요소로 가게 됩니다 //ptr2중간 요소로 가게 됩니다 ptr1 = ptr1.next; if(ptr1.next != null) { ptr1 = ptr1.next; ptr2 = ptr2.next; } }
여기서 우리는 두 변수 ptr1와 ptr2다음은 이러한 변수를 사용하여 링크드 리스트를 탐색하는 것입니다.
각 반복에서 ptr1두 노드에 접근하며 ptr2링크드 리스트의 단일 노드에 접근합니다.
현재, ptr1ptr에 링크드 리스트의 마지막 요소에 도달할 때, ptr2중간에 위치한 요소. 이렇게 하면 단일 반복에서 링크드 리스트의 중간 위치를 얻을 수 있습니다.
import java.util.LinkedList; class Main { public static void main(String[] args){ //LinkedList 클래스를 사용하여 링크드 리스트를 생성합니다. LinkedList<String> animals = new LinkedList<>(); //LinkedList에 요소 추가 animals.add("Dog"); animals.addFirst("Cat"); animals.addLast("Horse"); System.out.println("LinkedList: " + animals); //중앙 요소 접근 String middle = animals.get(animals.size())/2); System.out.println("중앙 요소: " + middle); } }
출력 결과
LinkedList: [Cat, Dog, Horse] 중앙 요소: Dog
위의 예제에서 LinkedList 클래스를 사용하여 링크드 리스트 데이터 구조를 구현했습니다. 주의할 점은 표현식입니다.
animals.get(animals.size())/2)
size()/ 2 - 중앙 요소 위치 반환
get() - 중앙 요소 반환