学用 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 © 2016 phpStudy | 豫ICP备2021030365号-3