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

C#으로 연결 리스트(LinkedList) 선언부터 순회까지 한 번에 배우기


C#에서는 LinkedList 컬렉션을 사용하여 연결 리스트를 간단하게 선언할 수 있습니다. 다음과 같이 문자열 타입의 연결 리스트를 생성해 보겠습니다.

var a = new LinkedList<string>();

연결 리스트가 준비되었다면, AddLast 메서드를 사용해 요소를 추가할 수 있습니다. 이 메서드는 항상 리스트의 마지막(끝)에 새 노드를 삽입합니다.

a.AddLast("Tim");
a.AddLast("Tom");

그렇다면 이렇게 구성된 연결 리스트를 어떻게 순회(traversal)할 수 있을까요? C#에서는 foreach 문을 활용하면 매우 직관적으로 모든 요소에 접근할 수 있습니다. 아래 예제를 통해 전체 과정을 확인해 보세요.

예제 코드

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(string[] args) {
        var a = new LinkedList<string>();
        a.AddLast("Tim");
        a.AddLast("Tom");

        foreach(var res in a) {
            Console.WriteLine(res);
        }
    }
}

코드 설명

위 예제는 다음과 같은 흐름으로 동작합니다.

1. 리스트 생성new LinkedList<string>()으로 문자열을 저장하는 연결 리스트 인스턴스를 만듭니다.

2. 요소 추가AddLast를 두 번 호출하여 "Tim"과 "Tom"을 차례대로 리스트 끝에 추가합니다.

3. 순회 및 출력foreach 문이 리스트의 첫 번째 노드부터 마지막 노드까지 순서대로 방문하며, 각 요소를 Console.WriteLine으로 출력합니다.

실행 결과는 다음과 같습니다.

Tim
Tom

이처럼 C#의 LinkedList는 내부적으로 IEnumerable을 구현하고 있기 때문에 별도의 반복자 코드 없이 foreach 문만으로 손쉽게 순회할 수 있다는 장점이 있습니다.