English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 객체 지향(I)

Java 객체 지향(II)

Java 객체 지향(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램에서 한 번의 이터레이션으로 LinkedList의 중간 요소를 얻습니다

   Java 예제 전체

이 예제에서는 Java에서 한 번의 이터레이션으로 링크드리스트의 중간 요소를 얻는 방법을 배웁니다

이 예제를 이해하려면, 먼저 다음 튜토리얼을 방문해야 합니다

예제1:LinkedList의 중간 요소를 한 번의 이터레이션으로 얻습니다

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중간에 위치한 요소. 이렇게 하면 단일 반복에서 링크드 리스트의 중간 위치를 얻을 수 있습니다.

예제2:LinkedList 클래스를 사용하여 LinkedList의 중간 요소를 가져옵니다.

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() - 중앙 요소 반환

Java 예제 전체