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

相关推荐
都叫我大帅哥12 小时前
Spring @Transactional 注解完全指南
java·spring
Java成神之路-12 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
前端工作日常12 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
带刺的坐椅13 小时前
Solon 的 10 种 HTTP 服务器:改一行依赖,换一个引擎
java·solon·jetty·undertow·mcp-server·htttp
xcLeigh13 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang
AI大模型-小华14 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
Mark_ZP14 小时前
【锁1】Synchronized vs ReentrantLock区别
java
立心者015 小时前
SpringBoot中使用TOTP实现MFA(多因素认证)
java·spring boot·后端
枕星而眠15 小时前
C++ STL Map容器完全指南:从有序红黑树到无序哈希表
java·开发语言
逃逸线LOF15 小时前
Spring配置数据源{连接池}(Druid、c3p0)
java·数据库·spring