学用 ASP.Net 之 System.Collections.Queue 与 Stack 类


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);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值