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