<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FCollections_Data_Structure%2FQueue</id>
		<title>Csharp/C Sharp/Collections Data Structure/Queue - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FCollections_Data_Structure%2FQueue"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Collections_Data_Structure/Queue&amp;action=history"/>
		<updated>2026-04-30T01:25:22Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Collections_Data_Structure/Queue&amp;diff=628&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Collections_Data_Structure/Queue&amp;diff=628&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Collections_Data_Structure/Queue&amp;diff=629&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Collections_Data_Structure/Queue&amp;diff=629&amp;oldid=prev"/>
				<updated>2010-05-26T11:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Add exception handling to the queue classes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# A Beginner&amp;quot;s Guide&lt;br /&gt;
By Schildt&lt;br /&gt;
Publisher: Osborne McGraw-Hill&lt;br /&gt;
ISBN: 0072133295&lt;br /&gt;
*/&lt;br /&gt;
/*  &lt;br /&gt;
    Project 10-1 &lt;br /&gt;
 &lt;br /&gt;
    Add exception handling to the queue classes. &lt;br /&gt;
*/ &lt;br /&gt;
using System; &lt;br /&gt;
// A character queue interface. &lt;br /&gt;
public interface ICharQ {    &lt;br /&gt;
  // Put a characer into the queue.    &lt;br /&gt;
  void put(char ch); &lt;br /&gt;
 &lt;br /&gt;
  // Get a character from the queue.   &lt;br /&gt;
  char get(); &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
// An exception for queue-full errors. &lt;br /&gt;
class QueueFullException : ApplicationException { &lt;br /&gt;
  public QueueFullException() : base() { } &lt;br /&gt;
  public QueueFullException(string str) : base(str) { } &lt;br /&gt;
 &lt;br /&gt;
  public override string ToString() { &lt;br /&gt;
    return &amp;quot;\n&amp;quot; + Message; &lt;br /&gt;
  } &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
// An exception for queue-empty errors. &lt;br /&gt;
class QueueEmptyException : ApplicationException { &lt;br /&gt;
  public QueueEmptyException() : base() { } &lt;br /&gt;
  public QueueEmptyException(string str) : base(str) { } &lt;br /&gt;
 &lt;br /&gt;
  public override string ToString() { &lt;br /&gt;
    return &amp;quot;\n&amp;quot; + Message; &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
// A fixed-size queue class for characters that uses exceptions. &lt;br /&gt;
class FixedQueue : ICharQ {     &lt;br /&gt;
  char[] q; // this array holds the queue     &lt;br /&gt;
  int putloc, getloc; // the put and get indices     &lt;br /&gt;
     &lt;br /&gt;
  // Construct an empty queue given its size.    &lt;br /&gt;
  public FixedQueue(int size) {  &lt;br /&gt;
    q = new char[size+1]; // allocate memory for queue     &lt;br /&gt;
    putloc = getloc = 0;     &lt;br /&gt;
  }     &lt;br /&gt;
    &lt;br /&gt;
  // Put a character into the queue.     &lt;br /&gt;
  public void put(char ch) { &lt;br /&gt;
    if(putloc==q.Length-1)  &lt;br /&gt;
      throw new QueueFullException(&amp;quot;Max length is &amp;quot; + &lt;br /&gt;
                                    (q.Length-1)); &lt;br /&gt;
         &lt;br /&gt;
    putloc++;     &lt;br /&gt;
    q[putloc] = ch;     &lt;br /&gt;
  }     &lt;br /&gt;
     &lt;br /&gt;
  // Get a character from the queue.    &lt;br /&gt;
  public char get() { &lt;br /&gt;
    if(getloc == putloc)  &lt;br /&gt;
      throw new QueueEmptyException(); &lt;br /&gt;
       &lt;br /&gt;
    getloc++;     &lt;br /&gt;
    return q[getloc];     &lt;br /&gt;
  }     &lt;br /&gt;
}&lt;br /&gt;
// Demonstrate the queue exceptions. &lt;br /&gt;
 &lt;br /&gt;
public class QExcDemo {     &lt;br /&gt;
  public static void Main() {     &lt;br /&gt;
    FixedQueue q = new FixedQueue(10);     &lt;br /&gt;
    char ch;     &lt;br /&gt;
    int i;     &lt;br /&gt;
     &lt;br /&gt;
    try {  &lt;br /&gt;
      // overrun the queue &lt;br /&gt;
      for(i=0; i &amp;lt; 11; i++) { &lt;br /&gt;
        Console.Write(&amp;quot;Attempting to store : &amp;quot; + &lt;br /&gt;
                         (char) (&amp;quot;A&amp;quot; + i)); &lt;br /&gt;
        q.put((char) (&amp;quot;A&amp;quot; + i));     &lt;br /&gt;
        Console.WriteLine(&amp;quot; -- OK&amp;quot;); &lt;br /&gt;
      } &lt;br /&gt;
      Console.WriteLine(); &lt;br /&gt;
    } &lt;br /&gt;
    catch (QueueFullException exc) { &lt;br /&gt;
      Console.WriteLine(exc); &lt;br /&gt;
    } &lt;br /&gt;
    Console.WriteLine(); &lt;br /&gt;
    &lt;br /&gt;
    try { &lt;br /&gt;
      // over-empty the queue &lt;br /&gt;
      for(i=0; i &amp;lt; 11; i++) {      &lt;br /&gt;
        Console.Write(&amp;quot;Getting next char: &amp;quot;); &lt;br /&gt;
        ch = q.get();     &lt;br /&gt;
        Console.WriteLine(ch);     &lt;br /&gt;
      } &lt;br /&gt;
    } &lt;br /&gt;
    catch (QueueEmptyException exc) { &lt;br /&gt;
      Console.WriteLine(exc); &lt;br /&gt;
    }  &lt;br /&gt;
  }     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==A queue class for characters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# A Beginner&amp;quot;s Guide&lt;br /&gt;
By Schildt&lt;br /&gt;
Publisher: Osborne McGraw-Hill&lt;br /&gt;
ISBN: 0072133295&lt;br /&gt;
*/&lt;br /&gt;
// A queue class for characters.   &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
class Queue {   &lt;br /&gt;
  // these are now private &lt;br /&gt;
  char[] q; // this array holds the queue   &lt;br /&gt;
  int putloc, getloc; // the put and get indices   &lt;br /&gt;
   &lt;br /&gt;
  // Construct an empty Queue given its size.  &lt;br /&gt;
  public Queue(int size) {   &lt;br /&gt;
    q = new char[size+1]; // allocate memory for queue   &lt;br /&gt;
    putloc = getloc = 0;   &lt;br /&gt;
  }   &lt;br /&gt;
  &lt;br /&gt;
  // Construct a Queue from a Queue.  &lt;br /&gt;
  public Queue(Queue ob) {  &lt;br /&gt;
    putloc = ob.putloc;  &lt;br /&gt;
    getloc = ob.getloc;  &lt;br /&gt;
    q = new char[ob.q.Length];  &lt;br /&gt;
  &lt;br /&gt;
    // copy elements  &lt;br /&gt;
    for(int i=getloc+1; i &amp;lt;= putloc; i++)  &lt;br /&gt;
      q[i] = ob.q[i];  &lt;br /&gt;
  }  &lt;br /&gt;
  &lt;br /&gt;
  // Construct a Queue with initial values.  &lt;br /&gt;
  public Queue(char[] a) {  &lt;br /&gt;
    putloc = 0;  &lt;br /&gt;
    getloc = 0;  &lt;br /&gt;
    q = new char[a.Length+1];  &lt;br /&gt;
  &lt;br /&gt;
    for(int i = 0; i &amp;lt; a.Length; i++) put(a[i]);  &lt;br /&gt;
  }  &lt;br /&gt;
      &lt;br /&gt;
  // Put a character into the queue.   &lt;br /&gt;
  public void put(char ch) {   &lt;br /&gt;
    if(putloc==q.Length-1) {   &lt;br /&gt;
      Console.WriteLine(&amp;quot; -- Queue is full.&amp;quot;);   &lt;br /&gt;
      return;   &lt;br /&gt;
    }   &lt;br /&gt;
       &lt;br /&gt;
    putloc++;   &lt;br /&gt;
    q[putloc] = ch;   &lt;br /&gt;
  }   &lt;br /&gt;
   &lt;br /&gt;
  // Get a character from the queue.  &lt;br /&gt;
  public char get() {   &lt;br /&gt;
    if(getloc == putloc) {   &lt;br /&gt;
      Console.WriteLine(&amp;quot; -- Queue is empty.&amp;quot;);   &lt;br /&gt;
      return (char) 0;    &lt;br /&gt;
    }   &lt;br /&gt;
     &lt;br /&gt;
    getloc++;   &lt;br /&gt;
    return q[getloc];   &lt;br /&gt;
  }   &lt;br /&gt;
}   &lt;br /&gt;
   &lt;br /&gt;
// Demonstrate the Queue class.   &lt;br /&gt;
public class QDemo2 {   &lt;br /&gt;
  public static void Main() {   &lt;br /&gt;
    // construct 10-element empty queue  &lt;br /&gt;
    Queue q1 = new Queue(10);   &lt;br /&gt;
  &lt;br /&gt;
    char[] name = {&amp;quot;T&amp;quot;, &amp;quot;o&amp;quot;, &amp;quot;m&amp;quot;};   &lt;br /&gt;
    // construct queue from array  &lt;br /&gt;
    Queue q2 = new Queue(name);   &lt;br /&gt;
  &lt;br /&gt;
    char ch;   &lt;br /&gt;
    int i;   &lt;br /&gt;
   &lt;br /&gt;
    // put some characters into q1   &lt;br /&gt;
    for(i=0; i &amp;lt; 10; i++)   &lt;br /&gt;
      q1.put((char) (&amp;quot;A&amp;quot; + i));   &lt;br /&gt;
  &lt;br /&gt;
    // construct queue from another queue  &lt;br /&gt;
    Queue q3 = new Queue(q1);  &lt;br /&gt;
  &lt;br /&gt;
    // Show the queues.  &lt;br /&gt;
    Console.Write(&amp;quot;Contents of q1: &amp;quot;);   &lt;br /&gt;
    for(i=0; i &amp;lt; 10; i++) {    &lt;br /&gt;
      ch = q1.get();   &lt;br /&gt;
      Console.Write(ch);   &lt;br /&gt;
    }   &lt;br /&gt;
   &lt;br /&gt;
    Console.WriteLine(&amp;quot;\n&amp;quot;);   &lt;br /&gt;
   &lt;br /&gt;
    Console.Write(&amp;quot;Contents of q2: &amp;quot;);   &lt;br /&gt;
    for(i=0; i &amp;lt; 3; i++) {    &lt;br /&gt;
      ch = q2.get();   &lt;br /&gt;
      Console.Write(ch);   &lt;br /&gt;
    }   &lt;br /&gt;
   &lt;br /&gt;
    Console.WriteLine(&amp;quot;\n&amp;quot;);   &lt;br /&gt;
   &lt;br /&gt;
    Console.Write(&amp;quot;Contents of q3: &amp;quot;);   &lt;br /&gt;
    for(i=0; i &amp;lt; 10; i++) {    &lt;br /&gt;
      ch = q3.get();   &lt;br /&gt;
      Console.Write(ch);   &lt;br /&gt;
    }   &lt;br /&gt;
  }   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrate the Queue class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Demonstrate the Queue class. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
using System.Collections; &lt;br /&gt;
  &lt;br /&gt;
public class QueueDemo { &lt;br /&gt;
  static void showEnq(Queue q, int a) { &lt;br /&gt;
    q.Enqueue(a); &lt;br /&gt;
    Console.WriteLine(&amp;quot;Enqueue(&amp;quot; + a + &amp;quot;)&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    Console.Write(&amp;quot;queue: &amp;quot;); &lt;br /&gt;
    foreach(int i in q) &lt;br /&gt;
      Console.Write(i + &amp;quot; &amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine();         &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  static void showDeq(Queue q) { &lt;br /&gt;
    Console.Write(&amp;quot;Dequeue -&amp;gt; &amp;quot;); &lt;br /&gt;
    int a = (int) q.Dequeue(); &lt;br /&gt;
    Console.WriteLine(a); &lt;br /&gt;
 &lt;br /&gt;
    Console.Write(&amp;quot;queue: &amp;quot;); &lt;br /&gt;
    foreach(int i in q) &lt;br /&gt;
      Console.Write(i + &amp;quot; &amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine();         &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    Queue q = new Queue(); &lt;br /&gt;
 &lt;br /&gt;
    foreach(int i in q) &lt;br /&gt;
      Console.Write(i + &amp;quot; &amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine();         &lt;br /&gt;
 &lt;br /&gt;
    showEnq(q, 22); &lt;br /&gt;
    showEnq(q, 65); &lt;br /&gt;
    showEnq(q, 91); &lt;br /&gt;
    showDeq(q); &lt;br /&gt;
    showDeq(q); &lt;br /&gt;
    showDeq(q); &lt;br /&gt;
 &lt;br /&gt;
    try { &lt;br /&gt;
      showDeq(q); &lt;br /&gt;
    } catch (InvalidOperationException) { &lt;br /&gt;
      Console.WriteLine(&amp;quot;Queue empty.&amp;quot;); &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==illustrates the use of a Queue==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example11_10.cs illustrates the use of a Queue&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
public class Example11_10&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    // create a Queue object&lt;br /&gt;
    Queue myQueue = new Queue();&lt;br /&gt;
    // add elements to myQueue using the Enqueue() method&lt;br /&gt;
    myQueue.Enqueue(&amp;quot;This&amp;quot;);&lt;br /&gt;
    myQueue.Enqueue(&amp;quot;is&amp;quot;);&lt;br /&gt;
    myQueue.Enqueue(&amp;quot;a&amp;quot;);&lt;br /&gt;
    myQueue.Enqueue(&amp;quot;test&amp;quot;);&lt;br /&gt;
    // display the elements in myQueue&lt;br /&gt;
    foreach (string myString in myQueue)&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(&amp;quot;myString = &amp;quot; + myString);&lt;br /&gt;
    }&lt;br /&gt;
    // get the number of elements in myQueue using the&lt;br /&gt;
    // Count property&lt;br /&gt;
    int numElements = myQueue.Count;&lt;br /&gt;
    for (int count = 0; count &amp;lt; numElements; count++)&lt;br /&gt;
    {&lt;br /&gt;
      // examine an element in myQueue using Peek()&lt;br /&gt;
      Console.WriteLine(&amp;quot;myQueue.Peek() = &amp;quot; +&lt;br /&gt;
        myQueue.Peek());&lt;br /&gt;
      // remove an element from myQueue using Dequeue()&lt;br /&gt;
      Console.WriteLine(&amp;quot;myQueue.Dequeue() = &amp;quot; +&lt;br /&gt;
        myQueue.Dequeue());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implements the queue data type using an array==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
public class Queue {&lt;br /&gt;
  private int[] data;     &lt;br /&gt;
  private int size;       &lt;br /&gt;
  private int front = -1; &lt;br /&gt;
  private int back = 0;   &lt;br /&gt;
  private int count = 0;&lt;br /&gt;
  public Queue() { &lt;br /&gt;
    size = 10;&lt;br /&gt;
    data = new int[size];&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public Queue(int size) {&lt;br /&gt;
    this.size = size;&lt;br /&gt;
    data = new int[size];&lt;br /&gt;
  }       &lt;br /&gt;
  &lt;br /&gt;
  public bool IsEmpty() {&lt;br /&gt;
    return  count == 0;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public bool IsFull() {&lt;br /&gt;
    return count == size;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public void Add(int i){&lt;br /&gt;
    if (IsFull())&lt;br /&gt;
      throw new ApplicationException(&amp;quot;Queue full&amp;quot;);&lt;br /&gt;
    else {&lt;br /&gt;
      count++;&lt;br /&gt;
      data[back++ % size] = i;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public int Remove(){&lt;br /&gt;
    if (IsEmpty())&lt;br /&gt;
       throw new ApplicationException(&amp;quot;Queue empty&amp;quot;);&lt;br /&gt;
    else {&lt;br /&gt;
       count--;&lt;br /&gt;
       return data[++front % size];&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public int Head(){&lt;br /&gt;
    if (IsEmpty()){&lt;br /&gt;
      throw new ApplicationException(&amp;quot;Queue empty&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
      return data[(front+1) % size];&lt;br /&gt;
  }&lt;br /&gt;
  public static void Main() {&lt;br /&gt;
    try {&lt;br /&gt;
      Queue q1 = new Queue();&lt;br /&gt;
      q1.Add(4);&lt;br /&gt;
      q1.Add(5);&lt;br /&gt;
      Console.WriteLine(&amp;quot;The front is now {0}&amp;quot;, q1.Head());&lt;br /&gt;
      q1.Add(6);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Removing from q1 returns {0}&amp;quot;, q1.Remove());&lt;br /&gt;
      Console.WriteLine(&amp;quot;Queue 1 has size {0}&amp;quot;, q1.size);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Queue 1 empty? {0}&amp;quot;, q1.IsEmpty());&lt;br /&gt;
      q1.Remove();&lt;br /&gt;
      Console.WriteLine(&amp;quot;Throws exception before we get here&amp;quot;);&lt;br /&gt;
    }catch(Exception e) {&lt;br /&gt;
        Console.WriteLine(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}  &lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Put elements into a queue==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
class Program {&lt;br /&gt;
    static void Main(string[] args) {&lt;br /&gt;
        Queue alphabet = new Queue();&lt;br /&gt;
        alphabet.Enqueue(&amp;quot;A&amp;quot;);&lt;br /&gt;
        alphabet.Enqueue(&amp;quot;B&amp;quot;);&lt;br /&gt;
        alphabet.Enqueue(&amp;quot;C&amp;quot;);&lt;br /&gt;
        Console.Write(&amp;quot;First Iteration: &amp;quot;);&lt;br /&gt;
        foreach (string item in alphabet) {&lt;br /&gt;
            Console.Write(item);&lt;br /&gt;
        }&lt;br /&gt;
        Console.WriteLine(&amp;quot;\nItem pulled from collection: &amp;quot; +&lt;br /&gt;
           alphabet.Dequeue().ToString());&lt;br /&gt;
        Console.Write(&amp;quot;Second iteration: &amp;quot;);&lt;br /&gt;
        foreach (string item in alphabet) {&lt;br /&gt;
            Console.Write(item);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Put user-defined objects to Queue collection==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
public class Starter {&lt;br /&gt;
    public static void Main() {&lt;br /&gt;
        Queue waiting = new Queue();&lt;br /&gt;
        waiting.Enqueue(new Customer(&amp;quot;B&amp;quot;));&lt;br /&gt;
        waiting.Enqueue(new Customer(&amp;quot;T&amp;quot;));&lt;br /&gt;
        waiting.Enqueue(new Customer(&amp;quot;K&amp;quot;));&lt;br /&gt;
        waiting.Enqueue(new Customer(&amp;quot;S&amp;quot;));&lt;br /&gt;
        while (waiting.Count != 0) {&lt;br /&gt;
            Customer cust =&lt;br /&gt;
                (Customer)waiting.Dequeue();&lt;br /&gt;
            Console.WriteLine(cust.Name);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public class Customer {&lt;br /&gt;
        public Customer(string cName) {&lt;br /&gt;
            propName = cName;&lt;br /&gt;
        }&lt;br /&gt;
        private string propName;&lt;br /&gt;
        public string Name {&lt;br /&gt;
            get {&lt;br /&gt;
                return propName;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Queue test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Learning C# &lt;br /&gt;
by Jesse Liberty&lt;br /&gt;
Publisher: O&amp;quot;Reilly &lt;br /&gt;
ISBN: 0596003765&lt;br /&gt;
*/&lt;br /&gt;
 using System;&lt;br /&gt;
 using System.Collections;&lt;br /&gt;
 namespace QueueDemo&lt;br /&gt;
 {&lt;br /&gt;
    public class TesterQueueDemo&lt;br /&gt;
    {&lt;br /&gt;
       public void Run()&lt;br /&gt;
       {&lt;br /&gt;
           Queue intQueue = new Queue();&lt;br /&gt;
           // populate the array&lt;br /&gt;
           for (int i = 0;i&amp;lt;5;i++)&lt;br /&gt;
           {&lt;br /&gt;
               intQueue.Enqueue(i*5);&lt;br /&gt;
           }&lt;br /&gt;
           // Display the Queue.&lt;br /&gt;
           Console.Write( &amp;quot;intQueue values:\t&amp;quot; );&lt;br /&gt;
           DisplayValues( intQueue );&lt;br /&gt;
           // Remove an element from the Queue.&lt;br /&gt;
           Console.WriteLine(&lt;br /&gt;
               &amp;quot;\n(Dequeue)\t{0}&amp;quot;, intQueue.Dequeue() );&lt;br /&gt;
           // Display the Queue.&lt;br /&gt;
           Console.Write( &amp;quot;intQueue values:\t&amp;quot; );&lt;br /&gt;
           DisplayValues( intQueue );&lt;br /&gt;
           // Remove another element from the queue.&lt;br /&gt;
           Console.WriteLine(&lt;br /&gt;
               &amp;quot;\n(Dequeue)\t{0}&amp;quot;, intQueue.Dequeue() );&lt;br /&gt;
           // Display the Queue.&lt;br /&gt;
           Console.Write( &amp;quot;intQueue values:\t&amp;quot; );&lt;br /&gt;
           DisplayValues( intQueue );&lt;br /&gt;
           // View the first element in the&lt;br /&gt;
           // Queue but do not remove.&lt;br /&gt;
           Console.WriteLine(&lt;br /&gt;
               &amp;quot;\n(Peek)   \t{0}&amp;quot;, intQueue.Peek() );&lt;br /&gt;
           // Display the Queue.&lt;br /&gt;
           Console.Write( &amp;quot;intQueue values:\t&amp;quot; );&lt;br /&gt;
           DisplayValues( intQueue );&lt;br /&gt;
       }&lt;br /&gt;
        public static void DisplayValues( IEnumerable myCollection )&lt;br /&gt;
        {&lt;br /&gt;
            IEnumerator myEnumerator =&lt;br /&gt;
                myCollection.GetEnumerator();&lt;br /&gt;
            while ( myEnumerator.MoveNext() )&lt;br /&gt;
                Console.Write( &amp;quot;{0} &amp;quot;,myEnumerator.Current );&lt;br /&gt;
            Console.WriteLine();&lt;br /&gt;
        }&lt;br /&gt;
       [STAThread]&lt;br /&gt;
       static void Main()&lt;br /&gt;
       {&lt;br /&gt;
          TesterQueueDemo t = new TesterQueueDemo();&lt;br /&gt;
          t.Run();&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>