2023 To change this license header choose License Headers in Project Properties | Assignment Collections
Computer Science 2023 Priority Queue With Linked List
2023 To change this license header choose License Headers in Project Properties | Assignment Collections
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*//*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
#include <stdio.h>
#include <stdlib.h>
#include “PQLL_Mahato.h”
int peek(Node** head)
{
return (*head)->data;
}
//Removes the element with the
//highest priority from the list
void dequeue(Node** head)
{
Node* temp = *head;
(*head) = (*head)->next;
free(temp);
}
// function to check is list is empty
int isEmpty(Node** head)
{
return (*head) == NULL;
}
Node* newNode(char d, int p)
{
Node* temp = (Node*)malloc(sizeof(Node));
temp->data = d;
temp->priority = p;
temp->next = NULL;
return temp;
}
// Function to enqueue according to priority
void enqueue (Node** head, char d, int p)
{
Node* start = (*head);
// Create new Node
Node* temp = newNode(d, p);
// special case: The head of list has lesser
// priority than new node. So insert new
// node before head node and change head node.
if ((*head)->priority > p) {
// Insert New node before head
temp->next = *head;
(*head) = temp;
}
else {
// Traverse the list and find a
// position to insert a new node
while (start->next != NULL &&
start->next->priority < p){
start = start->next;
}
// Either at the ends of the list
// or at the required position
temp->next = start->next;
start->next = temp;
}
}
/*
* File: PQLL_Mahato.h
* Author: Aaditya
*
* Created on April 7, 2020, 9:44 PM
*/
#ifndef PQLL_MAHATO_H
#define PQLL_MAHATO_H
#ifdef __cplusplus
extern “C” {
#endif
///Node
typedef struct node {
char data;/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
* File: PQLLMain_Mahato.c
* Author: Aaditya
*
* Created on April 8, 2020, 9:45 PM
*/
#include <stdio.h>
#include <stdlib.h>
#include “PQLL_Mahato.h”
int main(int argc, char** argv) {
//create a new priority queue
Node* pq = newNode(‘B’ , 1);
enqueue(&pq, ‘C’ , 2);
enqueue(&pq, ‘D’ , 3);
enqueue(&pq, ‘A’ , 0);
while (!isEmpty(&pq)) {
printf(“%c “, peek(&pq));
dequeue(&pq);
}
printf(“n”);
return (EXIT_SUCCESS);
}
//Lower values indicate higher priority
int priority;
struct node* next;
} Node;
int peek(Node** head);
void dequeue(Node** head);
void enqueue(Node** head, char d, int p);
int isEmpty(Node** head);
Node* newNode(char d, int p);
#ifdef __cplusplus
}
#endif
#endif /* PQLL_MAHATO_H */
We give our students 100% satisfaction with their assignments, which is one of the most important reasons students prefer us to other helpers. Our professional group and planners have more than ten years of rich experience. The only reason is that we have successfully helped more than 100000 students with their assignments on our inception days. Our expert group has more than 2200 professionals in different topics, and that is not all; we get more than 300 jobs every day more than 90% of the assignment get the conversion for payment.