/*********************************************************************************
*
* 功能描述: 堆棧的使用
*
* 做 者: 郭強生
*
* 修改日期: 2012-08-08
*
* 備 注: 堆棧以及接口在一個程序中的使用
************************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace StackPoint
{
class Program
{
static void Main(string[] args)
{
//定義一個堆棧
Stack s=new Stack();
//向定義的堆棧中壓入一些數據
s.Push("cat");
s.Push("dinousor");
s.Push("dog");
s.Push("human");
s.Push("goose");
s.Push("fish");
Console.WriteLine("用Inumeraror訪問Stack");
Console.WriteLine("堆棧中有{0}個元素", s.Count);
//用 IEnumerator訪問stack的時候stack中的元素的個數不變,而下面的用pop訪問stack的時候stack中的元素個數發生變化
IEnumerator enu = s.GetEnumerator();
while (enu.MoveNext())
{
Console.WriteLine("{0}\t堆棧中有元素{1}個",enu.Current.ToString(),s.Count);
}
Console.WriteLine();
Console.WriteLine("用pop將堆棧中的數據壓出堆棧");
while (s.Count>0)
{
//將數據從堆棧中壓出
Console.WriteLine("{0}\t堆棧中有元素{1}個",s.Pop().ToString(),s.Count);
}
}
}
}