예제 #1
0
        public void Measure100kEnques()
        {
            var heap = new Lib.IntervalHeap();

            for (int i = 0; i < _random100k.Length; i++)
            {
                heap.Enque(_random100k[i]);
            }
            Assert.AreEqual(_random100k.Length, heap.ElementsCount);
        }
예제 #2
0
        public void Setup()
        {
            _heap       = new Lib.IntervalHeap();
            _random100k = new int[100000];

            Random rnd = new Random((int)DateTime.Now.Ticks);

            for (int i = 0; i < _random100k.Length; i++)
            {
                var next = rnd.Next();
                _random100k[i] = next;
                _heap.Enque(next);
            }
        }
예제 #3
0
        public void Setup()
        {
            _heap       = new Lib.IntervalHeap <ObjectWithOrder>(new ObjectWithOrderComparer());
            _random100k = new int[100000];

            Random rnd = new Random((int)DateTime.Now.Ticks);

            for (int i = 0; i < _random100k.Length; i++)
            {
                var next = rnd.Next();
                _random100k[i] = next;
                _heap.Enque(new ObjectWithOrder
                {
                    Data  = new object(),
                    Order = next
                });
            }
        }
예제 #4
0
        static void Main(string[] args)
        {
            var values = new int[6] {
                2, 20, 3, 30, 4, 25
            };
            var heap = new Lib.IntervalHeap();

            for (int i = 0; i < 6; i++)
            {
                Console.WriteLine($"inserting {values[i]} into heap.");
                heap.Enque(values[i]);
            }
            Console.WriteLine("Min = {0}, Max = {1}", heap.FetchMin(), heap.FetchMax());
            Console.ReadLine();

            Console.WriteLine("Removed elements {0},{1}, Min={2}, Max={3}",
                              heap.DequeMin(), heap.DequeMax(), heap.FetchMin(), heap.FetchMax());
            Console.ReadLine();
        }