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

C# LinkedList의 노드 개수 구하기 – Count 속성 완벽 가이드

C#에서 LinkedList<T>에 포함된 노드의 개수를 확인하려면 Count 속성을 사용하면 됩니다. Count 속성은 연결 리스트에 실제로 저장된 요소(노드)의 총 개수를 정수형(int)으로 반환하며, 별도의 반복문 없이 O(1) 시간 복잡도로 즉시 값을 얻을 수 있습니다.

또한 First 속성을 사용하면 리스트의 첫 번째 노드에 접근할 수 있고, Clear() 메서드를 호출하면 모든 노드가 제거되어 Count 값이 0으로 변경됩니다.

예제 1: Count 속성으로 노드 개수 확인하기

다음 예제는 LinkedList에 10개의 요소를 추가한 후 Count 속성으로 노드 개수를 출력하고, Clear() 메서드로 리스트를 비운 뒤 다시 개수를 확인하는 코드입니다.

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      LinkedList<String> list = new LinkedList<String>();
      list.AddLast("A");
      list.AddLast("B");
      list.AddLast("C");
      list.AddLast("D");
      list.AddLast("E");
      list.AddLast("F");
      list.AddLast("G");
      list.AddLast("H");
      list.AddLast("I");
      list.AddLast("J");

      Console.WriteLine("노드 개수 = " + list.Count);
      Console.WriteLine("첫 번째 노드 = " + list.First.Value);

      list.Clear();
      Console.WriteLine("갱신된 노드 개수 = " + list.Count);
   }
}

실행 결과

노드 개수 = 10
첫 번째 노드 = A
갱신된 노드 개수 = 0

예제 2: 여러 LinkedList 간의 노드 개수 비교하기

이번에는 세 개의 LinkedList를 사용하여 요소 추가, 참조 할당, Equals() 메서드를 통한 동등성 비교까지 함께 살펴보겠습니다. 빈 리스트의 Count는 0이며, 다른 리스트를 참조로 할당하면 해당 리스트의 노드 개수를 그대로 공유하게 됩니다.

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main(String[] args) {
      LinkedList<String> list1 = new LinkedList<String>();
      list1.AddLast("One");
      list1.AddLast("Two");
      list1.AddLast("Three");
      list1.AddLast("Four");
      list1.AddLast("Five");

      Console.WriteLine("LinkedList1의 요소...");
      foreach (string res in list1) {
         Console.WriteLine(res);
      }

      LinkedList<String> list2 = new LinkedList<String>();
      list2.AddLast("India");
      list2.AddLast("US");
      list2.AddLast("UK");
      list2.AddLast("Canada");
      list2.AddLast("Poland");
      list2.AddLast("Netherlands");

      Console.WriteLine("LinkedList2의 요소...");
      foreach (string res in list2) {
         Console.WriteLine(res);
      }

      LinkedList<String> list3 = new LinkedList<String>();
      Console.WriteLine("LinkedList3의 노드 개수 = " + list3.Count);

      list3 = list2;
      Console.WriteLine("갱신된 LinkedList3의 노드 개수 = " + list2.Count);
      Console.WriteLine("LinkedList3과 LinkedList2가 같은가? = " + list3.Equals(list2));
   }
}

실행 결과

LinkedList1의 요소...
One
Two
Three
Four
Five
LinkedList2의 요소...
India
US
UK
Canada
Poland
Netherlands
LinkedList3의 노드 개수 = 0
갱신된 LinkedList3의 노드 개수 = 6
LinkedList3과 LinkedList2가 같은가? = True

정리

지금까지 C# LinkedList에서 노드 개수를 구하는 방법을 알아보았습니다. 핵심 내용은 다음과 같습니다.

Count 속성은 리스트에 포함된 노드 수를 반환합니다. First.Value로 첫 번째 노드의 값을 확인할 수 있으며, Clear() 메서드 실행 후에는 Count가 0이 됩니다. 또한 리스트 객체를 다른 변수에 할당하면 참조가 공유되므로 두 변수의 Count 값과 Equals() 비교 결과가 동일해집니다.