예제 #1
0
        public IEnumerator <T> GetEnumerator()
        {
            Queue.Queue <TreeNode <T> > q = new Queue.Queue <TreeNode <T> >();

            if (Count > 0)
            {
                q.Enqueue(Root);
            }

            while (q.Count != 0)
            {
                var node = q.Dequeue();

                yield return(node.Data);

                if (!IsEdgeSentinel(node.Left))
                {
                    q.Enqueue(node.Left);
                }

                if (!IsEdgeSentinel(node.Right))
                {
                    q.Enqueue(node.Right);
                }
            }
        }
예제 #2
0
        public void GetEnumeratorMethod_EnumerateElementsOfTheQueueIfChange(int[] array, int value)
        {
            Queue.Queue <int> queue      = new Queue.Queue <int>(array);
            IEnumerator <int> enumerator = queue.GetEnumerator();

            enumerator.MoveNext();
            queue.Enqueue(value);
            int current = enumerator.Current;

            enumerator.Dispose();
        }
예제 #3
0
        static void Main(string[] args)
        {
            Queue.Queue <int> a = new Queue.Queue <int>(5, 3, 8, 2);
            a.Enqueue(1);
            a.Enqueue(2);
            a.Enqueue(3);
            a.Enqueue(4);
            a.Enqueue(5);
            a.Enqueue(6);
            a.Dequeue();
            Console.WriteLine("Contains  {0}\t Count  {1}\nMoveNext  {2}\t Current  {3}",
                              a.Contains(2), a.Count(), a.MoveNext(3), a.Current);
            a.Show();
            a.DeqeueAt(a.Current);
            a.Show();


            Queue.Queue <int> b = new Queue.Queue <int>(5, 3, 8, 2);
            b.Enqueue(1);
            b.Enqueue(2);
            b.Enqueue(3);
            b.Enqueue(4);
            b.Enqueue(5);
            b.Enqueue(6);

            Console.WriteLine(Equals(a, b));
            Console.WriteLine(a.Equals(b));
            Console.WriteLine(a.GetHashCode());
            Console.WriteLine(b.GetHashCode());
            Console.ReadKey();
        }
예제 #4
0
        public int EnqueueMethod_EnqueueElementFromToQueueAndGetLast(int[] array)
        {
            Queue.Queue <int> queue = new Queue.Queue <int>();
            foreach (var element in array)
            {
                queue.Enqueue(element);
            }

            int count = array.Length;

            while (count-- > 1)
            {
                queue.Dequeue();
            }

            return(queue.Dequeue());
        }
 public void Add(TcpClient c)
 {
     queue.Enqueue(c);
 }
예제 #6
0
 public void Enqueue(IEnumerable <char> collection, char value, IEnumerable <char> expected)
 {
     Queue.Queue <char> queue = new Queue.Queue <char>(collection);
     queue.Enqueue(value);
     CollectionAssert.AreEqual(expected.ToArray(), queue.ToArray());
 }