Advertisement
Evyatar12

QUEUE

Apr 24th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.37 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Book3
  8. {
  9.     class Queue<T>
  10.     {
  11.         private Node<T> head, last;
  12.  
  13.         public Queue()
  14.         {
  15.             this.head = null;
  16.             this.last = null;
  17.         }
  18.  
  19.         public bool IsEmpty()
  20.         {
  21.             return this.head == null;
  22.         }
  23.  
  24.         public T Head()
  25.         {
  26.             return this.head.GetValue();
  27.         }
  28.  
  29.         public void Insert(T x)
  30.         {
  31.             Node<T> connectionEnd = new Node<T>(x);
  32.  
  33.             if (this.head == null)
  34.                 this.head = connectionEnd;
  35.  
  36.             if (this.last != null)
  37.                 this.last.SetNext(connectionEnd);
  38.  
  39.             this.last = connectionEnd;
  40.         }
  41.  
  42.         public T Remove()
  43.         {
  44.             T value = this.Head();
  45.  
  46.             this.head = this.head.GetNext();
  47.  
  48.             if (this.head == null)
  49.                 this.last = null;
  50.  
  51.             return value;
  52.         }
  53.  
  54.         public override string ToString()
  55.         {
  56.             string s = "[";
  57.  
  58.             Node<T> curr = this.head;
  59.  
  60.             while (curr != null)
  61.             {
  62.                 s += curr.GetValue().ToString();
  63.                 s += ", ";
  64.             }
  65.  
  66.             s += "]";
  67.  
  68.             return s;
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement