Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# LinkedList RemoveFirst() 메서드 – 첫 번째 노드 제거하기

C#의 LinkedList<T> 클래스에서 RemoveFirst() 메서드는 연결 리스트의 맨 앞에 있는 첫 번째 노드를 제거할 때 사용합니다. 이 메서드는 내부적으로 첫 번째 노드만 다루기 때문에 O(1)의 시간 복잡도로 매우 빠르게 동작합니다.

LinkedList 선언하기

먼저 정수형 노드로 구성된 LinkedList를 만들어 보겠습니다.

int[] num = { 29, 40, 67, 89, 198, 234 };
LinkedList<int> myList = new LinkedList<int>(num);

이 리스트에서 첫 번째 요소(29)를 제거하고 싶다면 RemoveFirst() 메서드를 호출하기만 하면 됩니다.

myList.RemoveFirst();

전체 예제 코드

아래는 RemoveFirst() 메서드를 활용한 전체 예제입니다. 제거 전후의 리스트 상태를 비교해 볼 수 있습니다.

using System;
using System.Collections.Generic;

class Demo {
    static void Main() {
        int[] num = { 29, 40, 67, 89, 198, 234 };
        LinkedList<int> myList = new LinkedList<int>(num);

        Console.WriteLine("원본 LinkedList:");
        foreach (var n in myList) {
            Console.WriteLine(n);
        }

        // 첫 번째 노드 제거
        myList.RemoveFirst();

        Console.WriteLine("\n첫 번째 노드 제거 후 LinkedList:");
        foreach (var n in myList) {
            Console.WriteLine(n);
        }
    }
}

실행 결과

원본 LinkedList:
29
40
67
89
198
234

첫 번째 노드 제거 후 LinkedList:
40
67
89
198
234

실행 결과를 보면 첫 번째 값인 29가 사라지고, 나머지 요소들이 그대로 유지되는 것을 확인할 수 있습니다.

주의사항

  • 리스트가 비어 있는 경우 RemoveFirst()를 호출하면 InvalidOperationException이 발생합니다. 호출 전에 Count > 0 여부를 확인하는 것이 안전합니다.
  • 마지막 노드를 제거하려면 RemoveLast() 메서드를, 특정 값을 제거하려면 Remove(T) 메서드를 사용하면 됩니다.
  • RemoveFirst()는 반환값이 없으며, 단순히 첫 번째 노드를 삭제하는 역할만 합니다.