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

C# LinkedList(연결 리스트) 마지막 노드 제거 방법 – RemoveLast() 활용 예제

C#에서 LinkedList(연결 리스트)의 마지막 노드를 제거하고 싶다면 RemoveLast() 메서드를 사용하면 됩니다. 이 메서드는 리스트의 맨 뒤에 있는 노드를 삭제하며, 별도의 인덱스 계산 없이 한 번의 호출로 처리할 수 있습니다.

1. 연결 리스트 생성하기

먼저 다음과 같이 문자열 배열을 기반으로 LinkedList를 생성합니다.

string[] employees = {"Patrick", "Robert", "John", "Jacob", "Jamie"};
LinkedList<string> list = new LinkedList<string>(employees);

2. RemoveLast() 메서드로 마지막 노드 제거하기

위 리스트에서 마지막 노드인 "Jamie"를 제거해야 한다고 가정해 보겠습니다. 이 경우 아래와 같이 RemoveLast() 메서드를 호출하기만 하면 됩니다.

list.RemoveLast();

메서드가 실행되면 리스트의 마지막 요소가 삭제되고, 나머지 노드들의 연결 구조는 자동으로 유지됩니다.

3. 전체 예제 코드

using System;
using System.Collections.Generic;

class Demo {
    static void Main() {
        string[] employees = {"Patrick", "Robert", "John", "Jacob", "Jamie"};
        LinkedList<string> list = new LinkedList<string>(employees);

        // 제거 전 리스트 출력
        foreach (var emp in list) {
            Console.WriteLine(emp);
        }

        // 마지막 노드 제거
        list.RemoveLast();

        Console.WriteLine("마지막 노드 제거 후 LinkedList...");
        foreach (var emp in list) {
            Console.WriteLine(emp);
        }
    }
}

4. 실행 결과

Patrick
Robert
John
Jacob
Jamie
마지막 노드 제거 후 LinkedList...
Patrick
Robert
John
Jacob

참고 사항

RemoveLast() 메서드는 리스트가 비어 있을 경우 InvalidOperationException 예외를 발생시킵니다. 따라서 빈 리스트에 대해 호출할 가능성이 있다면 Count 속성으로 요소 존재 여부를 먼저 확인하는 것이 안전합니다. 반대로 첫 번째 노드를 제거할 때는 RemoveFirst() 메서드를 사용하면 됩니다.