C#用链表和数组实现队列

1.链表

csharp 复制代码
public class 基础 : MonoBehaviour
{
    public class MyQueue
    {
        public class QueueData
        {
            public QueueData next;
            public object data;
            public QueueData(QueueData last, object data)
            {
                last.next = this;
                this.data = data;
            }
            public QueueData(object data)
            {
                this.data = data;
            }
        }
        //top永远是不变的 代表第一个元素
        QueueData topData;
        //pre是变的 每次新进来的元素都更新它
        QueueData preData;
        public void Enqueue(object data)
        {
            if(topData == null)
            {
                topData =  new QueueData(data);
                preData = topData;
            }
            else
            {
                //不是第一个元素 那就需要表明他的上一个元素是谁
                preData = new QueueData(preData, data);
            }
        }
        public object Dequeue()
        {
            object result = topData.data;
            topData = topData.next;
            return result;
        }
        
    }
    private void Start()
    {
        MyQueue mq = new MyQueue();
        mq.Enqueue(1);
        mq.Enqueue(44);
        mq.Enqueue(88);
        Debug.Log(mq.Dequeue());
        Debug.Log(mq.Dequeue());
    }
}

2.数组
C#用数组实现队列

相关推荐
Heaphaestus,RC18 分钟前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
baivfhpwxf202328 分钟前
C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
开发语言·c#
直裾41 分钟前
Scala全文单词统计
开发语言·c#·scala
阿龟在奔跑1 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
飞滕人生TYF1 小时前
m个数 生成n个数的所有组合 详解
java·递归
代码小鑫1 小时前
A043-基于Spring Boot的秒杀系统设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
真心喜欢你吖1 小时前
SpringBoot与MongoDB深度整合及应用案例
java·spring boot·后端·mongodb·spring
激流丶1 小时前
【Kafka 实战】Kafka 如何保证消息的顺序性?
java·后端·kafka
熬夜学编程的小王2 小时前
【初阶数据结构篇】双向链表的实现(赋源码)
数据结构·c++·链表·双向链表
周全全2 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php