您的位置:首页 > 产品设计 > UI/UE

Queue和Stack

2016-03-25 20:35 381 查看
/*
Queue操作。
*/
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string[] months = { "January", "February", "March", "April", "May" };
Queue queue = new Queue();
foreach (string item in months)
{
queue.Enqueue(item);      //将元素添加到Queue的末尾
}
Console.WriteLine("队列中元素的个数是:{0}", queue.Count);
Console.WriteLine("Peek操作:{0}\n",queue.Peek());   //从Queue的开始处返回最旧的元素,输出,但不删除
Console.WriteLine("Dequeue操作:");
while (queue.Count > 0)
Console.WriteLine(queue.Dequeue());   //从Queue的开始处移除最旧的元素,输出,删除
Console.WriteLine("队列中元素的个数是:{0}", queue.Count);
Console.ReadKey();
}
}
}

运行结果:



/*
Stack操作。
*/
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string[] months = { "January", "February", "March", "April", "May" };
Stack stack = new Stack();
foreach (string item in months)
{
stack.Push(item);      //入栈
}
Console.WriteLine("栈中元素的个数是:{0}", stack.Count);
Console.WriteLine("Peek操作:{0}\n", stack.Peek());   //返回栈顶元素,输出,但不删除
Console.WriteLine("Pop操作:");
while (stack.Count > 0)
Console.WriteLine(stack.Pop());   //出栈,输出,删除
Console.WriteLine("栈中元素的个数是:{0}", stack.Count);
Console.ReadKey();
}
}
}


运行结果:



注意:

连续输出Queue和Stack中的数据时,使用while(queue.Count>0)和while(stack.Count>0),不能使用for循环,因为Count属性的值在不断减少。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#