数据结构和算法-数组队列

Posted fanfan-90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构和算法-数组队列相关的知识,希望对你有一定的参考价值。

队列:

队列是一个有序列表,遵循先入先出原则,可以用数组或链表实现

使用场景

用于排队,按顺序执行

客户端:

public static void Main(string[] args)
        {
            ArrayQueue<int> queue = new ArrayQueue<int>(1000);
            queue.Push(1);
            queue.Push(2);
            queue.Push(3);
            queue.Push(4);
            queue.Push(5);

            Console.WriteLine(queue.Pop());
            Console.WriteLine(queue.Pop());
            queue.Push(6);
            queue.Push(7);
            queue.Print();
            Console.ReadKey();
        }

数组队列

public class ArrayQueue<T>
    {
        private int _front = -1;//队首
        private int _rear = -1;//队尾
        private int _maxSize = 0;
        private T[] _arr = null;
        public ArrayQueue(int maxSize)
        {
            _maxSize = maxSize;
            _arr = new T[maxSize];
        }
        public bool IsFull()
        {
            return _rear >= _maxSize - 1;
        }
        public bool IsEmpty()
        {
            return _front >= _rear;
        }
        public void Push(T n)
        {
            if (this.IsFull())
            {
                throw new Exception("队列已满");
            }
            _arr[++_rear] = n;
        }
        public T Pop()
        {
            if (this.IsEmpty())
            {
                throw new Exception("队列已空");
            }
            return _arr[++_front];
        }
        public void Print()
        {
            if (this.IsEmpty())
            {
                Console.WriteLine("队列已空");
                return;
            }
            for (int i = _front+1; i <= _rear; i++)
            {
                Console.WriteLine($"{i}:{_arr[i]}");
            }
        }


    }

以上是关于数据结构和算法-数组队列的主要内容,如果未能解决你的问题,请参考以下文章

数组结构和算法--2环绕队列

《图解数据结构与算法》(Java代码实现注释解析算法分析)

自定义数组列表和队列

算法笔记-数组实现栈,队列

数据结构和算法队列

数据结构和算法-数组队列