Advertisement
shabbyheart

Priority Queue (LAB)

Apr 20th, 2019
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. class Node{
  5. public:
  6.     double data;
  7.     int priority;
  8.     Node* next;
  9. };
  10.  
  11. class Queue{
  12.     Node* head;
  13. public:
  14.     Queue(){
  15.         head = NULL;
  16.     }
  17.  
  18.     void Enqueue(double data, int p){
  19.         Node* NewNode = new Node();
  20.         NewNode->data = data;
  21.         NewNode->next = NULL;
  22.         if (p == 1 || p == 0){
  23.             NewNode->next = head;
  24.             head = NewNode;
  25.         }
  26.         else{
  27.             Node* temp = head;
  28.             int counter = 2;
  29.             while((p > counter) && temp){
  30.                 temp = temp->next;
  31.                 counter ++;
  32.             }
  33.             NewNode->next = temp->next;
  34.             temp->next = NewNode;
  35.         }
  36.  
  37.     }
  38.     void Dequeue(){
  39.         Node* temp = new Node();
  40.         temp = head;
  41.         head = temp->next;
  42.         delete(temp);
  43.     }
  44.  
  45.     void Display(){
  46.         Node* temp = head;
  47.         while(temp){
  48.             cout<<temp->data<<" ";
  49.             temp = temp->next;
  50.         }
  51.         cout<<endl;
  52.     }
  53.  
  54. };
  55.  
  56. int main(){
  57.     Queue ob;
  58.     ob.Enqueue(5,0);
  59.     ob.Display();
  60.     ob.Enqueue(9,1);
  61.     ob.Display();
  62.     ob.Enqueue(4,2);
  63.     ob.Display();
  64.     ob.Enqueue(3,3);
  65.     ob.Display();
  66.     ob.Enqueue(8,4);
  67.     ob.Display();
  68.     ob.Enqueue(10,6);
  69.     ob.Display();
  70.     ob.Dequeue();
  71.     ob.Display();
  72.     ob.Enqueue(16,4);
  73.     ob.Display();
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement