C#에서 LinkedList<T>는 각 노드가 앞뒤 노드를 가리키는 이중 연결 리스트(Doubly Linked List) 구조입니다. 이 글에서는 연결 목록의 첫 번째 위치에 새로운 노드를 추가하는 방법을 예제와 함께 살펴보겠습니다.
LinkedList 생성하기
먼저 문자열 배열을 기반으로 LinkedList를 생성합니다.
string[] students = { "Tim", "Jack", "Henry", "David", "Tom" };
LinkedList<string> list = new LinkedList<string>(students);
AddFirst() 메서드로 첫 번째 위치에 노드 추가
연결 목록의 맨 앞에 노드를 추가하려면 AddFirst() 메서드를 사용합니다.
list.AddFirst("Amit");
AddFirst() 메서드는 O(1)의 시간 복잡도로 동작하기 때문에 목록 크기와 관계없이 매우 빠르게 노드를 삽입할 수 있습니다.
전체 예제 코드
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
string[] students = { "Tim", "Jack", "Henry", "David", "Tom" };
LinkedList<string> list = new LinkedList<string>(students);
// 초기 목록 출력
foreach (var stu in list) {
Console.WriteLine(stu);
}
// 첫 번째 위치에 노드 추가
Console.WriteLine("첫 번째 위치에 노드를 추가한 후의 LinkedList...");
list.AddFirst("Amit");
foreach (var stu in list) {
Console.WriteLine(stu);
}
}
}
실행 결과
Tim Jack Henry David Tom 첫 번째 위치에 노드를 추가한 후의 LinkedList... Amit Tim Jack Henry David Tom
실행 결과를 보면 Amit이 목록의 가장 앞쪽에 추가되고, 기존 노드들(Tim, Jack, Henry, David, Tom)은 순서가 유지된 채 한 칸씩 뒤로 밀려난 것을 확인할 수 있습니다. 이처럼 AddFirst() 메서드를 활용하면 LinkedList의 시작 부분에 손쉽게 새로운 요소를 삽입할 수 있습니다.