Udemy: Master Coding Interview - Stacks + Queues - #118

Run Settings
LanguageC#
Language Version
Run Command
using System; public class Node { public Node next; public string value; public Node(string value) { this.value = value; } } class Queue { Node first; Node last; int length = 0; static void Main() { Console.WriteLine("Hello World!"); Queue q = new Queue(); Console.WriteLine("q: " + q.ToString()); q.Enqueue("a"); Console.WriteLine("q: " + q.ToString()); q.Enqueue("b"); Console.WriteLine("q: " + q.ToString()); q.Enqueue("c"); Console.WriteLine("q: " + q.ToString()); q.Dequeue(); Console.WriteLine("q: " + q.ToString()); q.Dequeue(); Console.WriteLine("q: " + q.ToString()); q.Dequeue(); Console.WriteLine("q: " + q.ToString()); } public void Enqueue(string value) { Node item = new Node(value); if (this.length == 0) { this.first = item; } else { this.last.next = item; } this.last = item; this.length++; } public string Dequeue() { if (this.first != null) { string value = this.first.value; this.first = this.first.next; this.length--; return value; } return null; } public string Peek() { if (this.first != null) { return this.first.value; } return null; } public bool IsEmpty() { return this.length == 0; } public string ToString() { string s = "{"; Node current = this.first; int count = 0; while (current != null) { if (count > 0) { s += ", "; } s += "" + current.value; current = current.next; count++; } s += "}"; return s; } }
Editor Settings
Theme
Key bindings
Full width
Lines