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

C# Stack에 포함된 요소 개수 확인 방법 - Count 속성 활용하기

C#에서 Stack에 저장된 요소의 개수를 확인하려면 Count 속성을 사용하면 됩니다. Count 속성은 스택에 현재 들어 있는 요소의 총 개수를 정수(int) 값으로 반환합니다.

Count 속성이란?

Stack<T> 클래스의 Count 속성은 읽기 전용 속성으로, 스택 내부에 실제로 저장된 요소 수를 나타냅니다. Push 메서드로 요소를 추가하면 개수가 증가하고, Pop 또는 Clear 메서드를 사용하면 감소합니다.

예제 1: 문자열 스택의 요소 개수 확인

다음 예제에서는 문자열 타입의 스택을 생성하고, 요소를 추가한 후 Count 속성으로 개수를 출력합니다. 이후 Clear() 메서드를 호출하여 모든 요소를 제거한 뒤 갱신된 개수도 함께 확인해 보겠습니다.

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(){
        Stack<string> stack = new Stack<string>();
        stack.Push("A");
        stack.Push("B");
        stack.Push("C");
        stack.Push("D");
        stack.Push("E");
        stack.Push("F");
        stack.Push("G");
        stack.Push("H");
        Console.WriteLine("요소 개수 = " + stack.Count);
        Console.WriteLine("스택에 있는 요소들...");
        foreach (string res in stack){
            Console.WriteLine(res);
        }
        stack.Clear();
        Console.Write("갱신된 요소 개수 = " + stack.Count);
    }
}

실행 결과

요소 개수 = 8
스택에 있는 요소들...
H
G
F
E
D
C
B
A
갱신된 요소 개수 = 0

실행 결과를 보면 8개의 요소를 Push한 후 Count 값이 8로 출력되며, 스택은 LIFO(Last In First Out) 구조이므로 마지막에 추가한 H부터 역순으로 출력됩니다. Clear() 호출 후에는 모든 요소가 제거되어 Count 값이 0이 된 것을 확인할 수 있습니다.

예제 2: 정수 스택의 요소 개수 확인

이번에는 정수 타입의 스택에 10개의 숫자를 추가하고 Count 속성으로 개수를 확인하는 예제입니다.

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(){
        Stack<int> stack = new Stack<int>();
        stack.Push(10);
        stack.Push(20);
        stack.Push(30);
        stack.Push(40);
        stack.Push(50);
        stack.Push(60);
        stack.Push(70);
        stack.Push(80);
        stack.Push(90);
        stack.Push(100);
        Console.WriteLine("요소 개수 = " + stack.Count);
        Console.WriteLine("스택에 있는 요소들...");
        foreach (int res in stack){
            Console.WriteLine(res);
        }
    }
}

실행 결과

요소 개수 = 10
스택에 있는 요소들...
100
90
80
70
60
50
40
30
20
10

정리

C#의 Stack에서 요소 개수를 얻는 방법은 매우 간단합니다. 핵심 내용을 정리하면 다음과 같습니다.

  • Count 속성: 스택에 포함된 요소의 개수를 반환하는 읽기 전용 속성입니다.
  • Push: 스택 맨 위에 요소를 추가하며 Count가 1 증가합니다.
  • Pop: 스택 맨 위의 요소를 제거하고 반환하며 Count가 1 감소합니다.
  • Clear: 스택의 모든 요소를 제거하여 Count를 0으로 만듭니다.

스택은 후입선출(LIFO) 구조이므로 foreach 문으로 순회할 때 가장 마지막에 추가된 요소부터 출력된다는 점도 함께 기억해 두면 좋습니다.