使用C#List实现一个队列数据结构类

using System;  
using System.Collections.Generic;  
  
public class Queue<T>  
{  
    private List<T> elements = new List<T>();  
  
    // 入队操作  
    public void Enqueue(T item)  
    {  
        elements.Add(item);  
    }  
  
    // 出队操作  
    public T Dequeue()  
    {  
        if (IsEmpty())  
        {  
            throw new InvalidOperationException("队列为空,不能执行出队操作。");  
        }  
        return elements.RemoveAt(0);  
    }  
  
    // 查看队首元素  
    public T Peek()  
    {  
        if (IsEmpty())  
        {  
            throw new InvalidOperationException("队列为空,无法查看队首元素。");  
        }  
        return elements[0];  
    }  
  
    // 检查队列是否为空  
    public bool IsEmpty()  
    {  
        return elements.Count == 0;  
    }  
  
    // 获取队列中的元素个数  
    public int Count  
    {  
        get { return elements.Count; }  
    }  
  
    // 清空队列  
    public void Clear()  
    {  
        elements.Clear();  
    }  
  
    // 打印队列中的元素  
    public void Print()  
    {  
        foreach (var item in elements)  
        {  
            Console.Write(item + " ");  
        }  
        Console.WriteLine();  
    }  
}  
  
// 示例使用  
class Program  
{  
    static void Main()  
    {  
        Queue<int> queue = new Queue<int>();  
  
        // 入队操作  
        queue.Enqueue(1);  
        queue.Enqueue(2);  
        queue.Enqueue(3);  
  
        // 打印队列  
        queue.Print(); // 输出: 1 2 3   
  
        // 出队操作  
        int dequeuedItem = queue.Dequeue();  
        Console.WriteLine("出队元素: " + dequeuedItem); // 输出: 出队元素: 1  
  
        // 再次打印队列  
        queue.Print(); // 输出: 2 3   
  
        // 查看队首元素  
        Console.WriteLine("队首元素: " + queue.Peek()); // 输出: 队首元素: 2  
  
        // 检查队列是否为空  
        Console.WriteLine("队列是否为空: " + queue.IsEmpty()); // 输出: 队列是否为空: False  
  
        // 清空队列  
        queue.Clear();  
  
        // 再次检查队列是否为空  
        Console.WriteLine("队列是否为空: " + queue.IsEmpty()); // 输出: 队列是否为空: True  
    }  
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值