FixedQueue.cs

長さ固定の queue 。既存の Queue は Enqueue() してくとどんどこ長さが伸びるので固定してみた。効率とか考えてないよ ! 以下は適当すぎる sample 。

/*
 * Program.cs
 *  A sample for FixedQueue
 *
 * by janus_wel<janus.wel.3@gmail.com>
 * This source code is in public domain, and has NO WARRANTY.
 * */

namespace Sample
{
    using Utility.Data;
    using System.Diagnostics;

    class Program
    {
        static void Main(string[] args)
        {
            const int n = 8;
            FixedQueue<int> queue = new FixedQueue<int>(n);

            Debug.Assert(queue.Length == n);
            for (int i = 0; i < n; ++i)
            {
                queue.Enqueue(i);
                Debug.Assert(queue.Count == i + 1);
            }

            for (int i = 0; i < n; ++i)
            {
                queue.Enqueue(i);
                Debug.Assert(queue.Count == n);
            }
        }
    }
}