Question: I need a help in this program. I m still learning c. please help COMP1020 Day 8 Daily Fall 2017 Write the implementation file, priority_queue.c,

I need a help in this program. I m still learning c. please help
COMP1020 Day 8 Daily Fall 2017 Write the implementation file, priority_queue.c, for the interface in the given header file, priority queue.h. Turn in your priority queue.c file and a suitable main program, main.c, that tests the opaque object. priority_queue.h is attached as a file to this assignment but is also listed here for your convenience. Your implementation file should implement the priority queue using a heap data structure. Submissions that implement the priority queue without using a heap will not receive any credit. #ifndef #define PRIORITY-QUEUE. H PRIORITY-QUEUE-H enum status FAILURE, SUCCESS }; typedef enum status Status; enum boolean FALSE, TRUE; typedef enum boolean Boolean; typedef void* PRIORITY QUEUE; //Precondition: Creates an empty priority queue that can store integer data items / with different integer priority. Higher // integer values indicate higher priority in the queue. For example, consider the // priority and the data value to be key-value pairs where the priority is the key // and the data is the value. The queue could hold 21,10 and 35, 5 so that the // first item to be removed from the queue would be the data value 5 because // it has higher priority (35) than the data value 10 which only has (21) //Postcondition Returns the handle to an empty priority queue PRIORITY_QUEUE priority_queue_init_default(void); //Precondition: hQueue is a handle to a valid priority queue opaque object. // Higher priority_level values indicate higher priority in the queue // data item is simply a value we are storing in the queue //Postcondition: returns SUCCESS if the item was successfully added to the queue // and FAILURE otherwise Status priority queue_insert (PRIORITY QUEUE hQueue, int priority_level, int data item); //Precondition: hQueue is a handle to a valid priority queue opaque object //Postcondition: returns SUCCESs if the highest priority item was removed from the queue // and FAILURE if the queue was empty. Status priority_queue_service(PRIORITY QUEUE hQueue); //Precondition: hQueue is a handle to a valid priority queue opaque object. //Postcondition: returns a copy of the data value for the // highest priority item in the queue. Sets status to SUCCESS if there is // at least one item in the queue and FAILURE otherwise. If status is // passed in as NULL then the status value is ignored for this run of the // function int priority_queue front (PRIORITY QUEUE hQueue, Status status); //Precondition: hQueue is a handle to a valid priority queue opaque object //Postcondition: returns TRUE if the priority queue is empty and FALSE otherwise Boolean priority queue is_empty(PRIORITY QUEUE hQueue) COMP1020 Day 8 Daily Fall 2017 Write the implementation file, priority_queue.c, for the interface in the given header file, priority queue.h. Turn in your priority queue.c file and a suitable main program, main.c, that tests the opaque object. priority_queue.h is attached as a file to this assignment but is also listed here for your convenience. Your implementation file should implement the priority queue using a heap data structure. Submissions that implement the priority queue without using a heap will not receive any credit. #ifndef #define PRIORITY-QUEUE. H PRIORITY-QUEUE-H enum status FAILURE, SUCCESS }; typedef enum status Status; enum boolean FALSE, TRUE; typedef enum boolean Boolean; typedef void* PRIORITY QUEUE; //Precondition: Creates an empty priority queue that can store integer data items / with different integer priority. Higher // integer values indicate higher priority in the queue. For example, consider the // priority and the data value to be key-value pairs where the priority is the key // and the data is the value. The queue could hold 21,10 and 35, 5 so that the // first item to be removed from the queue would be the data value 5 because // it has higher priority (35) than the data value 10 which only has (21) //Postcondition Returns the handle to an empty priority queue PRIORITY_QUEUE priority_queue_init_default(void); //Precondition: hQueue is a handle to a valid priority queue opaque object. // Higher priority_level values indicate higher priority in the queue // data item is simply a value we are storing in the queue //Postcondition: returns SUCCESS if the item was successfully added to the queue // and FAILURE otherwise Status priority queue_insert (PRIORITY QUEUE hQueue, int priority_level, int data item); //Precondition: hQueue is a handle to a valid priority queue opaque object //Postcondition: returns SUCCESs if the highest priority item was removed from the queue // and FAILURE if the queue was empty. Status priority_queue_service(PRIORITY QUEUE hQueue); //Precondition: hQueue is a handle to a valid priority queue opaque object. //Postcondition: returns a copy of the data value for the // highest priority item in the queue. Sets status to SUCCESS if there is // at least one item in the queue and FAILURE otherwise. If status is // passed in as NULL then the status value is ignored for this run of the // function int priority_queue front (PRIORITY QUEUE hQueue, Status status); //Precondition: hQueue is a handle to a valid priority queue opaque object //Postcondition: returns TRUE if the priority queue is empty and FALSE otherwise Boolean priority queue is_empty(PRIORITY QUEUE hQueue)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
