/*********************************************************************************
*
* 功能描述: 堆栈的使用
*
* 做 者: 郭强生
*
* 修改日期: 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);
}
}
}
}