![[C#] LinkedList<T>, LinkedListNode<T>](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOGGCm%2FbtssDL2TF35%2F1V0KtHS3QvMg3ey1XGsXE0%2Fimg.png)
![DANEW](https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png)
[C#] LinkedList<T>, LinkedListNode<T>C#2023. 9. 10. 09:00
Table of Contents
LinkedList<T> 클래스
LinkedList<T> 클래스 (System.Collections.Generic)
이중 연결 목록을 나타냅니다.
learn.microsoft.com
- 이중 연결 목록(Doubly Linked List; 이중으로 연결된 목록) 자료 구조를 나타내는 제네릭 클래스
- 새 요소를 목록의 어디에나 빠르게 삽입 할 수 있음
- 색인을 통해서 직접 접근하지 못하기 때문에 검색은 느림, 이진 탐색 역시 불가
- 색인 접근이 불가능하므로 IList<T>는 구현하지 않음
namespace System.Collections.Generic
{
public class LinkedList<T> : ICollection<T>, IEnumerable<T>, IEnumerable, ICollection, IReadOnlyCollection<T>, ISerializable, IDeserializationCallback
{
public LinkedList();
public LinkedList(IEnumerable<T> collection);
protected LinkedList(SerializationInfo info, StreamingContext context);
// 노드의 추가
public LinkedListNode<T> AddFirst(T value);
public void AddFirst(LinkedListNode<T> node);
public LinkedListNode<T> AddLast(T value);
public void AddLast(LinkedListNode<T> node);
public LinkedListNode<T> AddAfter(LinkedListNode<T> node, T value);
public void AddAfter(LinkedListNode<T> node, LinkedListNode<T> newNode);
public LinkedListNode<T> AddBefore(LinkedListNode<T> node, T value);
public void AddBefore(LinkedListNode<T> node, LinkedListNode<T> newNode);
// 노드의 제거
public void Clear();
public void RemoveFirst();
public void RemoveLast();
public bool Remove(T value);
public void Remove(LinkedListNode<T> node);
// 노드 관련 속성
public int Count { get; }
public LinkedListNode<T> Last { get; }
public LinkedListNode<T> First { get; }
// 검색
public bool Contains(T value);
public LinkedListNode<T> Find(T value);
public LinkedListNode<T> FindLast(T value);
// 배열로 복사
public void CopyTo(T[] array, int index);
// 열거
public Enumerator GetEnumerator();
public struct Enumerator : IEnumerator<T>, IDisposable, IEnumerator, ISerializable, IDeserializationCallback
{
public T Current { get; }
public void Dispose();
public bool MoveNext();
}
// 직렬화
public virtual void GetObjectData(SerializationInfo info, StreamingContext context);
public virtual void OnDeserialization(object sender);
}
}
반응형
LinkedListNode<T> 클래스
LinkedListNode<T> 클래스 (System.Collections.Generic)
LinkedList<T>의 노드를 나타냅니다. 이 클래스는 상속될 수 없습니다.
learn.microsoft.com
- LinkedList의 노드를 구현하는 클래스
namespace System.Collections.Generic
{
public sealed class LinkedListNode<T>
{
public LinkedListNode(T value);
public LinkedList<T> List { get; }
public LinkedListNode<T> Next { get; }
public LinkedListNode<T> Previous { get; }
public T Value { get; set; }
}
}
반응형
'C#' 카테고리의 다른 글
[C#] IDictionary<TKey,TValue>, IReadOnlyDictionary<TKey,TValue>, IDictionary (0) | 2023.09.20 |
---|---|
[C#] HashSet<T>, SortedSet<T> (0) | 2023.09.16 |
[C#] BitArray (0) | 2023.09.14 |
[C#] Queue<T>, Queue, Stack<T>, Stack (0) | 2023.09.12 |
[C#] IList<T>, IList (0) | 2023.09.08 |
[C#] ICollection<T>, ICollection (1) | 2023.08.31 |
[C#] AppContext (1) | 2023.08.30 |
[C#] Process (1) | 2023.08.29 |
![DANEW](https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png)
@DANEW :: 별을 스치는 바람
초보 DBA 이야기입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!