public static void Main() { var pq = new PriorityQueue<string>(); pq.Enqueue(1, "Last") .Enqueue(99, "First") .Enqueue(1, "Last") .Enqueue(16, "Middle") .Enqueue(0, "After last"); while (pq.Count > 0) { Console.WriteLine(pq.Dequeue()); } }
public static void Main() { var queue = new PriorityQueue<string>(); for (int i = 0; i < 26; i++) { string name = "Name " + (char)(i + 'a'); queue.Enqueue(name); } while (queue.Count > 0) { Console.WriteLine(queue.Dequeue()); } }
public static void Main(string[] args) { var queue = new PriorityQueue<int>(); queue.Enqueue(80000); queue.Enqueue(3); queue.Enqueue(500); queue.Enqueue(900); queue.Enqueue(2); queue.Dequeue(); }
static void Main() { var a = new PriorityQueue<int>(); a.Enqueue(5, 1); a.Enqueue(1, 0); a.Enqueue(3, 5); a.Enqueue(10, 1); a.Enqueue(41, 2); Console.WriteLine(a.Dequeue()); Console.WriteLine(a.Dequeue()); Console.WriteLine(a.Dequeue()); Console.WriteLine(a.Dequeue()); Console.WriteLine(a.Dequeue()); }
public static void Main() { var queue = new PriorityQueue<int>(true); queue.Enqueue(4); queue.Enqueue(5); queue.Enqueue(3); queue.Enqueue(1); queue.Enqueue(1); while (queue.Count > 0) { Console.WriteLine(queue.Peek()); Console.WriteLine(queue.Dequeue()); } }
static void Main(string[] args) { PriorityQueue PQ = new PriorityQueue(); PQ.push(3, "Clear drains"); PQ.push(4, "Feed cat"); PQ.push(5, "Make tea"); PQ.push(1, "Solve RC tasks"); PQ.push(2, "Tax return"); while (!PQ.Empty) { var Val = PQ.pop(); Console.WriteLine(Val[0] + " : " + Val[1]); } Console.ReadKey(); }
public static void Main() { PriorityQueue<Person> people = new PriorityQueue<Person>(); people.Enquene(new Person("Samuel", 25)); people.Enquene(new Person("Sancho", 27)); people.Enquene(new Person("Grigor", 30)); people.Enquene(new Person("Asya", 24)); people.Enquene(new Person("Gergana", 35)); people.Enquene(new Person("Maria", 22)); people.Enquene(new Person("Pesho", int.MinValue)); Console.WriteLine("The root: {0}", people.Root); while (people.Count > 0) { Console.WriteLine(people.Dequene()); } }
static void Main() { PriorityQueue<int> priorityQueue = new PriorityQueue<int>(); priorityQueue.Enqueue(10); priorityQueue.Enqueue(12); priorityQueue.Enqueue(13); priorityQueue.Enqueue(14); priorityQueue.Enqueue(15); Console.WriteLine("Peek at biggest element: {0} ", priorityQueue.Peek); priorityQueue.Dequeue(); Console.WriteLine("Peek after dequeue: {0}", priorityQueue.Peek); priorityQueue.Enqueue(15); priorityQueue.Enqueue(20); Console.WriteLine("Biggest element after enqueue: {0} ", priorityQueue.Peek); }
// 20 marks // Build a Huffman tree based on the character frequencies greater than 0 (invoked by Huffman) private void Build(int[] F) { PriorityQueue.PriorityQueue <Node> PQ = new PriorityQueue.PriorityQueue <Node>(F.Length); for (int x = 0; x < F.Length; x++) // loop to create the leaf nodes { if (F[x] > 0) // checks to make sure there is at least one occurrence { Node temp = new Node(possibleCharacters[x], F[x], null, null); // leaf nodes have no left and right nodes PQ.Add(temp); //add leaf nodes to priority queue } } while (PQ.Size() > 2) { Node temp = new Node(); //new empty node int freq = PQ.Front().Frequency; //store left side frequency temp.Left = PQ.Front(); // store left side node PQ.Remove(); //remove left side node from priority queue temp.Frequency = freq + PQ.Front().Frequency; //store left side freq plus right side freq temp.Right = PQ.Front(); //store right side node PQ.Remove(); //remove right side node from priority queue PQ.Add(temp); //add new sub tree to priority queue } if (PQ.Size() == 2) { HT = new Node(); //initialize head node as empty int freq = PQ.Front().Frequency; //store left node frequency HT.Left = PQ.Front(); // store left node PQ.Remove(); // remove node from priority queue HT.Frequency = freq + PQ.Front().Frequency; //store both frequencies in head node HT.Right = PQ.Front(); //store right node PQ.MakeEmpty(); //remove node from priority queue (make sure its empty) } else //Special case, only one node in the priority queue { HT = new Node(); // head node is set to only have one leaf node and freq is that of the leaf node HT.Frequency = PQ.Front().Frequency; // set head node freq as leaf node freq HT.Left = PQ.Front(); // if there is only one node, it becomes the head node PQ.MakeEmpty(); //empty priority queue } }
public static void Main() { //Implement a class PriorityQueue<T> based on the data structure "binary heap". PriorityQueue<Person> people = new PriorityQueue<Person>(); people.Enquene(new Person("Doncho", 28)); people.Enquene(new Person("Niki", 27)); people.Enquene(new Person("Ivo", 29)); people.Enquene(new Person("Asya", 24)); people.Enquene(new Person("Ivo1", 35)); people.Enquene(new Person("Asya1", 22)); people.Enquene(new Person("Pesho", int.MinValue)); Console.WriteLine("The root: {0}", people.Root); while (people.Count > 0) { Console.WriteLine(people.Dequene()); } }
public static void Main(string[] args) { PriorityQueue<int> testQueue = new PriorityQueue<int>(5, true); testQueue.Enqueue(1); testQueue.Enqueue(2); testQueue.Enqueue(3); testQueue.Enqueue(5); testQueue.Enqueue(1); //testQueue.Dequeue(); testQueue.Enqueue(25); //Console.WriteLine("Dequeue: {0}", testQueue.Dequeue()); testQueue.Print(); testQueue.Enqueue(2); testQueue.Enqueue(7); testQueue.Print(); while (testQueue.Count > 0) { Console.WriteLine("Dequeue: {0}", testQueue.Dequeue()); } }
private static void MaxQueueTest() { Console.WriteLine("Max priority: "); var queue = new PriorityQueue<int>(false); Console.WriteLine("Count: " + queue.Count); queue.Enqueue(0); queue.Enqueue(2); queue.Enqueue(4); queue.Enqueue(6); queue.Enqueue(8); Console.WriteLine("Count: " + queue.Count); Console.WriteLine("Dequeue:"); while (queue.Count > 0) { Console.WriteLine(queue.Dequeue()); } }
private static void MinQueueTest() { Console.WriteLine("Min priority: "); var queue = new PriorityQueue<int>(true); Console.WriteLine("Count: " + queue.Count); queue.Enqueue(9); queue.Enqueue(7); queue.Enqueue(5); queue.Enqueue(3); queue.Enqueue(1); Console.WriteLine("Count: " + queue.Count); Console.WriteLine("Dequeue:"); while (queue.Count > 0) { Console.WriteLine(queue.Dequeue()); } }
public static void Main() { PriorityQueue myTestPriorityQueue = new PriorityQueue(); myTestPriorityQueue.AddElement(6); myTestPriorityQueue.AddElement(1); myTestPriorityQueue.AddElement(3); myTestPriorityQueue.AddElement(5); myTestPriorityQueue.AddElement(4); myTestPriorityQueue.AddElement(2); myTestPriorityQueue.AddElement(8); myTestPriorityQueue.AddElement(9); myTestPriorityQueue.AddElement(7); int getNine = myTestPriorityQueue.GetElement(); int getEight = myTestPriorityQueue.GetElement(); int getSeven = myTestPriorityQueue.GetElement(); int getSix = myTestPriorityQueue.GetElement(); int getFive = myTestPriorityQueue.GetElement(); int getFour = myTestPriorityQueue.GetElement(); int getThree = myTestPriorityQueue.GetElement(); int getTwo = myTestPriorityQueue.GetElement(); int getOne = myTestPriorityQueue.GetElement(); Console.WriteLine(getNine); Console.WriteLine(getEight); Console.WriteLine(getSeven); Console.WriteLine(getSix); Console.WriteLine(getFive); Console.WriteLine(getFour); Console.WriteLine(getThree); Console.WriteLine(getTwo); Console.WriteLine(getOne); // Uncomment line below to test get element from empty queue. // Will throw exception. // int getMissingElement = myTestPriorityQueue.GetElement(); }