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

C#에서 연결 리스트(LinkedList) 순회 구현하는 방법

C# 연결 리스트(LinkedList) 순회하기

C#에서 LinkedList<T> 컬렉션은 이중 연결 리스트를 제공하며, 노드를 자유롭게 추가하고 순회할 수 있습니다. 먼저 연결 리스트 컬렉션을 생성하는 방법부터 살펴보겠습니다.

1. 연결 리스트 생성

문자열을 저장할 LinkedList 컬렉션을 선언합니다.

var list = new LinkedList<string>();

2. 요소 추가

AddLast() 메서드를 사용하여 리스트 끝에 요소를 추가합니다.

list.AddLast("One");
list.AddLast("Two");
list.AddLast("Four");

3. 기존 노드 앞뒤에 새 요소 삽입

Find() 메서드로 특정 노드를 찾은 후, AddBefore()AddAfter()를 사용하여 원하는 위치에 새 요소를 삽입할 수 있습니다.

LinkedListNode<string> node = list.Find("Four");
list.AddBefore(node, "Three");
list.AddAfter(node, "Five");

4. 전체 예제 코드

다음은 연결 리스트의 모든 노드를 순회(traversal)하면서 값을 출력하는 완전한 예제입니다.

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main(string[] args) {
      var list = new LinkedList<string>();
      list.AddLast("One");
      list.AddLast("Two");
      list.AddLast("Four");

      Console.WriteLine("순회 중...");
      foreach(var res in list) {
         Console.WriteLine(res);
      }

      LinkedListNode<string> node = list.Find("Four");
      list.AddBefore(node, "Three");
      list.AddAfter(node, "Five");

      Console.WriteLine("새 요소 추가 후 순회...");
      foreach(var res in list) {
         Console.WriteLine(res);
      }
   }
}

출력 결과

순회 중...
One
Two
Four
새 요소 추가 후 순회...
One
Two
Three
Four
Five

핵심 정리

foreach 문을 사용하면 LinkedList의 각 노드를 처음부터 끝까지 순서대로 탐색할 수 있습니다. AddBefore()는 지정한 노드 앞에, AddAfter()는 뒤에 새 노드를 삽입하므로, 중간 위치에 효율적으로 요소를 추가할 때 유용합니다.