상세 컨텐츠

본문 제목

LinkedList<T>

C#

by 메타 스토리 2023. 9. 5. 10:06

본문

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>는 삽입 및 삭제가 빈번하게 발생하는 상황에서 높은 성능을 제공하는 데이터 구조입니다. 각 노드가 이전 노드와 다음 노드에 대한 참조를 가지고 있어 삽입 및 삭제가 빠르게 이루어질 수 있습니

'C#' 카테고리의 다른 글

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

관련글 더보기