스택 클래스는 푸시 및 팝 작업을 사용하여 C#에서 구현됩니다.
스택은 C#에서 객체의 후입선출을 나타내는 데 사용됩니다. 다음은 Stack 클래스의 메소드입니다 -
시니어 번호 | 방법 및 설명 |
---|---|
1 | 공개 가상 무효 Clear(); 스택에서 모든 요소를 제거합니다. |
2 | 공개 가상 bool 포함(객체 obj); 요소가 스택에 있는지 여부를 결정합니다. |
3 | 공개 가상 객체 Peek(); 스택의 맨 위에 있는 개체를 제거하지 않고 반환합니다. |
4 | 공개 가상 객체 Pop(); 스택의 맨 위에 있는 개체를 제거하고 반환합니다. |
5 | 공개 가상 무효 푸시(객체 obj); 스택의 맨 위에 개체를 삽입합니다. |
6 | 공개 가상 객체[] ToArray(); 스택을 새 배열에 복사합니다. |
푸시 작업은 요소를 추가합니다.
Stack st = new Stack(); st.Push('A'); st.Push('B'); st.Push('C'); st.Push('D');
팝 작업은 스택에서 요소를 제거합니다.
st.Push('P'); st.Push('Q');
다음은 Stack 클래스와 해당 Push() 및 Pop() 메서드를 사용하는 방법을 보여주는 예입니다.
예시
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push('A'); st.Push('B'); st.Push('C'); st.Push('D'); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); st.Push('P'); st.Push('Q'); Console.WriteLine("The next poppable value in stack: {0}", st.Peek()); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); Console.WriteLine("Removing values...."); st.Pop(); st.Pop(); st.Pop(); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } } } }
출력
Current stack: D C B A The next poppable value in stack: Q Current stack: Q P D C B A Removing values.... Current stack: C B A