Answers for "priority queues c"

C++
1

priority queue stl

#include<iostream>
#include<queue>
#include<algorithm>

using namespace std;

int main()
{
    priority_queue<int>pq;
    int n=5;
    while(n--)
    {
        int val;
        cout<<"enter the value you want to insert:"<<endl;
        cin>>val;
        pq.push(val);
    }
    priority_queue<int>p;
    p.push(100);
    p.push(1000);
    p.push(3000);
    p.push(5000);
    pq.swap(p);
    while(!pq.empty())
    {
        cout<<pq.top()<<" ";
        pq.pop();
    }
    return 0;
}
Posted by: Guest on June-06-2021
0

priority queue using array in c

#include<stdio.h>
#define N 20
int Q[N],Pr[N];
int r = -1,f = -1;
void enqueue(int data,int p)//Enqueue function to insert data and its priority in queue
{
	int i;
	if((f==0)&&(r==N-1)) //Check if Queue is full
		printf("Queue is full");
	else
	{
		if(f==-1)//if Queue is empty
		{
			f = r = 0;
			Q[r] = data;
			Pr[r] = p;

		}
		else if(r == N-1)//if there there is some elemets in Queue
		{
			for(i=f;i<=r;i++) { Q[i-f] = Q[i]; Pr[i-f] = Pr[i]; r = r-f; f = 0; for(i = r;i>f;i--)
				{
					if(p>Pr[i])
					{
						Q[i+1] = Q[i];
						Pr[i+1] = Pr[i];
					}
					else
						break;
					Q[i+1] = data;
					Pr[i+1] = p;
					r++;
				}
			}
		}
		else
		{
			for(i = r;i>=f;i--)
			{
				if(p>Pr[i])
				{
					Q[i+1] = Q[i];
					Pr[i+1] = Pr[i];	
				}
				else
					break;
			}
			Q[i+1] = data;
			Pr[i+1] = p;
			r++;
		}	
	}

}
void print() //print the data of Queue
{
int i;
	for(i=f;i<=r;i++)
	{
		printf("nElement = %dtPriority = %d",Q[i],Pr[i]);
	}
}
int dequeue() //remove the data from front
{
	if(f == -1)
	{
		printf("Queue is Empty");
	}	
	else
	{
		printf("deleted Element = %dt Its Priority = %d",Q[f],Pr[f]);
		if(f==r)
			f = r = -1;
		else
			f++;
	}
}
int main()
{
	int opt,n,i,data,p;
	printf("Enter Your Choice:-");
	do{
		printf("nn1 for Insert the Data in Queuen2 for show the Data in Queue n3 for Delete the data from the Queuen0 for Exit");
		scanf("%d",&opt);
		switch(opt){
			case 1:
				printf("nEnter the number of data");
				scanf("%d",&n);
				printf("nEnter your data and Priority of data");
				i=0;
				while(i<n){
					scanf("%d %d",&data,&p);
					enqueue(data,p);
					i++;
				}
				break;
			case 2:
				print();
				break;
			case 3:
				 dequeue();
				break;
			case 0:
				break;
			default:
				printf("nIncorrect Choice");

		}
	}while(opt!=0);
        return 0;
}
Posted by: Guest on June-04-2021

Browse Popular Code Answers by Language