public void Test() { var pq = new IndexMinPQ <int>(10); pq.Enqueue(1, 20); pq.Enqueue(2, 15); Assert.Equal(15, pq.MinKey()); pq.Enqueue(1, 10); Assert.Equal(10, pq.MinKey()); pq.Enqueue(3, 11); Assert.Equal(1, pq.DelMin()); Assert.Equal(11, pq.MinKey()); Assert.Equal(2, pq.Count); Assert.False(pq.IsEmpty); pq.Enqueue(2, 10); Assert.Equal(10, pq.MinKey()); Assert.Equal(2, pq.DelMin()); foreach (var v in pq) { console.WriteLine("key: {0}", v); } }