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

作者:互联网   出处:控件中国网   2014-11-05 19:04:55   阅读:1

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

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat