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

队列Queue 先进先出 栈Stack 先进后出

2016-04-20 12:04 483 查看
1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//队列的特点就是先进先出
Queue<string> queue = new Queue<string>();
queue.Enqueue("张三"); //入队 将对象添加到 System.Collections.Generic.Queue<T> 的结尾处。
queue.Enqueue("李四");
queue.Enqueue("王五");

int queueCount = queue.Count(); //返回序列中元素的数量

string name = queue.Dequeue(); //出队 把队首的元素移除,并将这移除的元素返回。
Console.WriteLine(name); //输出“张三”

name = queue.Dequeue(); //因为“张三”已经被移除了。所以现在是“李四”是在队首了
Console.WriteLine(name); //输出“李四”

name = queue.Dequeue(); //因为“李四”也被移除了,所以队列中就只剩下王五了。
Console.WriteLine(name); //输出“王五”

//------------------------------------------------------------

//栈的特点就是先进后出(了解下就可以了,用的不多)
Stack<string> stack = new Stack<string>();
stack.Push("张三"); //入栈, 将对象插入 System.Collections.Generic.Stack<T> 的顶部。
stack.Push("李四");
stack.Push("王五");

int stackCount= stack.Count(); //返回栈中的数量
string name1 = stack.Pop(); //出栈。把栈首的元素移除,并将移除的元素返回。
Console.WriteLine(name); //输出:“王五”

name1 = stack.Pop();
Console.WriteLine(name1);//输出:“李四”

name1 = stack.Pop();
Console.WriteLine(name1);//输出:“张三”

//name1 = stack.Peek(); //这是返回栈首的对象,但是不将它移除
Console.ReadKey();

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: