前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据结构】数组队列

【数据结构】数组队列

作者头像
MaybeHC
发布2024-04-23 19:03:29
890
发布2024-04-23 19:03:29
举报
文章被收录于专栏:技术之路技术之路

队列的实现还是依托于一开始所写的数组

【数据结构】二次封装自己的数组(一)完成数组基本功能

【数据结构】二次封装自己的数组(二)升级为泛型数组

【数据结构】二次封装自己的数组(三)升级为动态数组

下面是队列的实现代码

?

实现

代码语言:javascript
复制
    class ArrayQueue<E> : Queue<E>
    {
        private Array<E> array;
        public ArrayQueue(int capacity)
        {
            array = new Array<E>(capacity);
        }
        public ArrayQueue()
        {
            array = new DataStructure.Array<E>(); 
        }
        public E dequeue()
        {
            return array.removeFirst();
        }

        public void enqueue(E e)
        {
            array.addLast(e);
        }

        public E getFront()
        {
            return array.getFirst();
        }

        public int getSize()
        {
            return array.getSize();
        }

        public bool isEmpty()
        {
            return array.isEmpty();
        }
        public int getCapacity()
        {
            return array.getCapacity();
        }
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("Queue:");
            sb.Append("front [");
            for(int i = 0; i < array.getSize(); i++)
            {
                sb.Append(array.get(i));
                if (i != array.getSize() - 1)
                    sb.Append(", ");
            }
            sb.Append("] tail");
            return sb.ToString();
        }
    }

下面我们写个测试类测试下

测试

代码语言:javascript
复制
 static void Main(string[] args)
        {
            ArrayQueue<int> queue = new DataStructure.ArrayQueue<int>();
            for(int i = 0; i < 10; i++)
            {
                queue.enqueue(i);
                Console.WriteLine(queue);
                if (i % 3 == 2)
                {
                    queue.dequeue();
                    Console.WriteLine(queue);
                }
            }
           
            Console.ReadKey();
        }

结果

在这里插入图片描述
在这里插入图片描述

我们可以看到测试结果,完成了队列的功能

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现
  • 测试
  • 结果
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com