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

本文介绍了使用C#实现队列和栈这两种基本数据结构的方法。通过具体示例展示了队列的先进先出(FIFO)特性及栈的先进后出(LIFO)特性,并演示了如何进行元素的添加与移除等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值