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

【数据结构】数组队列

作者头像
MaybeHC
发布2024-04-23 19:03:29
发布2024-04-23 19:03:29
12600
代码可运行
举报
文章被收录于专栏:技术之路技术之路
运行总次数:0
代码可运行

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

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

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

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

下面是队列的实现代码

?

实现

代码语言:javascript
代码运行次数:0
运行
复制
    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
代码运行次数:0
运行
复制
 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 条评论
热度
最新
推荐阅读
目录
  • 实现
  • 测试
  • 结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com