subject

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 PRIORITY_QUEUE_H
#define 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);< br /> //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_QUEU E 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_QUE UE 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 the variable at the address
// referred to in pStatus to SUCCESS if there is
// at least one item in the queue and FAILURE otherwise. If pStatus 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* pStatus);
//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_QU EUE hQueue);
//Precondition: phQueue is a pointer to the handle of a valid priority queue opaque object.
//Postcondition: The opaque object will be free'd from memory and the handle pointed to
// by phQueue will be set to NULL.
void priority_queue_destroy(PRIORITY_QUE UE* phQueue);
#endif

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 11:00
Which are examples of note-taking tools? check all that recording devices sticky notes digital highlighters paper flags highlighting pens digital displays digital flags
Answers: 1
question
Computers and Technology, 22.06.2019 11:00
Technician a says that the radiator usually cools better if the front air dam is removed. technician b says that when a condenser has a leak it can be repaired easily with epoxy. who is correct?
Answers: 1
question
Computers and Technology, 23.06.2019 01:30
How do you set up a slide show to play continuously, advancing through all the slides without requiring your interaction? a. click set up slide show, and then select the loop continuously until ‘esc' and show without narration options. b. click set up slide show, and then select the loop continuously until ‘esc' and use timings, if present options. c. click set up slide show, and then select the show presenter view and use timings, if present options. d. click set up slide show, and then select the show without animation and browsed at a kiosk (full screen) options.
Answers: 3
question
Computers and Technology, 23.06.2019 05:30
Sally is editing her science report about living things. she needs to copy a paragraph from her original report. order the steps sally needs to do to copy the text to her new document.
Answers: 1
You know the right answer?
Write the implementation file, priority_queue. c, for the interface in the given header file, priori...
Questions
question
Biology, 30.03.2020 20:31
question
Mathematics, 30.03.2020 20:31