LinkedList<T>는 C#에서 제공하는 컬렉션 중 하나로, 이중 연결 리스트(Doubly Linked List)를 기반으로 한 데이터 구조입니다. LinkedList<T>는 요소를 순서대로 저장하고, 각 요소는 이전 요소와 다음 요소로 연결되어 있습니다. 이로써 삽입 및 삭제 연산이 효율적으로 수행됩니다.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// LinkedList 생성
LinkedList<string> linkedList = new LinkedList<string>();
// 요소 추가
linkedList.AddLast("사과");
linkedList.AddLast("바나나");
linkedList.AddLast("체리");
// 중간에 요소 추가
LinkedListNode<string> bananaNode = linkedList.Find("바나나");
linkedList.AddAfter(bananaNode, "딸기");
// 요소 순회 (앞에서 뒤로)
Console.WriteLine("LinkedList의 요소 (앞에서 뒤로):");
foreach (string fruit in linkedList)
{
Console.WriteLine(fruit);
}
// 요소 순회 (뒤에서 앞으로)
Console.WriteLine("\nLinkedList의 요소 (뒤에서 앞으로):");
LinkedListNode<string> lastNode = linkedList.Last;
while (lastNode != null)
{
Console.WriteLine(lastNode.Value);
lastNode = lastNode.Previous;
}
// 요소 제거
linkedList.Remove("바나나");
// 요소 검색
bool containsCherry = linkedList.Contains("체리");
Console.WriteLine("\nLinkedList에 '체리'가 포함되어 있음: " + containsCherry);
}
}
LinkedList의 요소 (앞에서 뒤로):
사과
바나나
딸기
체리
LinkedList의 요소 (뒤에서 앞으로):
체리
딸기
바나나
사과
LinkedList에 '체리'가 포함되어 있음: True
LinkedList<T>는 삽입 및 삭제가 빈번하게 발생하는 상황에서 높은 성능을 제공하는 데이터 구조입니다. 각 노드가 이전 노드와 다음 노드에 대한 참조를 가지고 있어 삽입 및 삭제가 빠르게 이루어질 수 있습니
LINQ 쿼리 (0) | 2023.09.05 |
---|---|
foreach를 사용할 수 있는 일반화 클래스 -2 (0) | 2023.09.05 |
HashSet<T> (0) | 2023.09.05 |
foreach를 사용할 수 있는 일반화 클래스 (0) | 2023.09.05 |
Dictionary (0) | 2023.09.05 |