C#中的棧和佇列
棧
Stack 類表示物件的先進後出集合。當您需要對專案進行先進後出的訪問時,可以使用它。
以下是 Stack 類的屬性:
**Count** - 獲取棧中元素的數量。
以下是 Stack 類的方法:
| 序號 | 方法和描述 |
|---|---|
| 1 | public virtual void Clear(); 移除 Stack 中的所有元素。 |
| 2 | public virtual bool Contains(object obj); 確定某個元素是否在 Stack 中。 |
| 3 | public virtual object Peek(); 返回 Stack 頂部的物件,但不將其移除。 |
| 4 | public virtual object Pop(); 移除並返回 Stack 頂部的物件。 |
| 5 | public virtual void Push(object obj); 在 Stack 頂部插入一個物件。 |
| 6 | public virtual object[] ToArray(); 將 Stack 複製到一個新陣列中。 |
以下是一個示例,展示瞭如何使用 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
佇列
Queue 集合類是 C# 中的一個概念,包含在 System.Collection 名稱空間中。元素以 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());
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP