随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万


Queue(队列)是先进先出的集合; Stack(堆栈)是后进先出的集合.

Queue 的主要成员:
/* 属性 */
Count      //元素数

/* 方法 */
Clear()    //清空
Contains() //是否包含
Dequeue()  //出列
Enqueue()  //入列
Peek()     //获取将要出列的


Stack 的主要成员:
/* 属性 */
Count           //

/* 方法 */
Clear()         //
Contains()      //
Peek()          //获取将要出栈的
Pop()           //出栈
Push()          //压栈


Queue 测试:
protected void Button1_Click(object sender, EventArgs e)
{
    Queue queue = new Queue();
    queue.Enqueue("abc");
    queue.Enqueue(123);
    queue.Enqueue(true);

    string str = "";
    foreach (object obj in queue)
    {
        str += obj.ToString() + "; ";
    }
    TextBox1.Text = str; //abc; 123; True; 
}

protected void Button2_Click(object sender, EventArgs e)
{
    Queue queue = new Queue();
    queue.Enqueue("AA");
    queue.Enqueue("BB");
    queue.Enqueue("CC");
    queue.Enqueue("DD");

    string s1 = queue.Dequeue().ToString(); //AA
    int n1 = queue.Count; //3

    string s2 = queue.Peek().ToString();    //BB
    int n2 = queue.Count; //3

    string s3 = queue.Dequeue().ToString(); //BB
    int n3 = queue.Count; //2

    queue.Clear();
    int n4 = queue.Count; //0

    TextBox1.Text = string.Concat(s1, "\n", n1, "\n", s2, "\n", n2, "\n", s3, "\n", n3, "\n", n4);
}


Stack 测试:
protected void Button1_Click(object sender, EventArgs e)
{
    Stack stack = new Stack();
    stack.Push("AA");
    stack.Push("BB");
    stack.Push("CC");

    string s1 = stack.Pop().ToString();  //CC

    stack.Push("DD");
    string s2 = stack.Pop().ToString();  //DD

    string s3 = stack.Peek().ToString(); //BB
    string s4 = stack.Pop().ToString();  //BB

    int n = stack.Count;                 //1
    bool b = stack.Contains("AA");       //True

    TextBox1.Text = string.Concat(s1, "\n", s2, "\n", s3, "\n", s4, "\n", n, "\n", b);
}

posted on   万一  阅读(1934)  评论(3编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2010-01-05 RegularExpressions(1) 一个 Net 样式的、适用于 Delphi 2009 之后版本的正则表达式组件
2008-01-05 Delphi 中的 XMLDocument 类详解(16) - 节点列表中的第一个与最后一个节点
2008-01-05 Delphi 中的 XMLDocument 类详解(15) - 创建与保存 xml


点击右上角即可分享
微信分享提示