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#用数组实现队列

相关推荐
柯南二号2 分钟前
【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
java·spring boot·mybatis
我好喜欢你~6 小时前
C#---StopWatch类
开发语言·c#
桦说编程7 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
lifallen7 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研7 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
没有bug.的程序员8 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋8 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
阿华的代码王国9 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Zyy~9 小时前
《设计模式》装饰模式
java·设计模式
A尘埃9 小时前
企业级Java项目和大模型结合场景(智能客服系统:电商、金融、政务、企业)
java·金融·政务·智能客服系统