스택
스택 클래스는 후입선출 객체 컬렉션을 나타냅니다. 항목에 대한 후입선출이 필요할 때 사용됩니다.
다음은 Stack 클래스의 속성입니다 -
-
카운트 − 스택의 요소 수를 가져옵니다.
다음은 Stack 클래스의 메소드입니다 -
| 시니어 번호 | 방법 및 설명 |
|---|---|
| 1 | 공개 가상 무효 Clear(); 스택에서 모든 요소를 제거합니다. |
| 2 | 공개 가상 bool 포함(객체 obj); 요소가 스택에 있는지 여부를 결정합니다. |
| 3 | 공개 가상 객체 Peek(); 스택의 맨 위에 있는 개체를 제거하지 않고 반환합니다. |
| 4 | 공개 가상 객체 Pop(); 스택의 맨 위에 있는 개체를 제거하고 반환합니다. |
| 5 | 공개 가상 무효 푸시(객체 obj); 스택의 맨 위에 개체를 삽입합니다. |
| 6 | 공개 가상 객체[] ToArray(); 스택을 새 배열에 복사합니다. |
다음은 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
대기열
큐 컬렉션 클래스는 System.Collection 네임스페이스에 포함된 C#의 개념입니다. 요소는 FIFO의 QUEUE에 저장됩니다. 추가된 첫 번째 요소는 티켓을 사기 위해 영화관 바깥에 사람들이 줄을 서 있는 것처럼 가장 먼저 나가는 것입니다.
두 가지 방법이 있습니다 -
- 값을 추가하는 Enqueue() 메서드
- 값 검색을 위한 Dequeue() 메서드
대기열
대기열에 항목을 추가합니다.
Queue q = new Queue(); q.Enqueue(“Two”); q.Enqueue(“One”);
큐에서 빼기
대기열에서 항목을 반환합니다.
Queue q = new Queue(); q.Enqueue(“Two”); q.Enqueue(“One”); // remove elements while (q.Count > 0) Console.WriteLine(q.Dequeue());