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