- Main Page
- Data Structures
- Files

- File List
- Globals

# minpq.h File Reference

## Detailed Description

Functions and structures for implementing a minimizing priority queue.

Copyright (C) 2006-2007 Rob Hess <hess@eecs.oregonstate.edu>

Version:
  1.1.1-20070913

`#include <stdlib.h>`

## Data Structures
struct | pq_node
| an element in a minimizing priority queue More...
struct | min_pq
| a minimizing priority queue More...
## Functions
min_pq * | minpq_init ()
| Creates a new minimizing priority queue.
int | minpq_insert (struct min_pq *min_pq, void *data, int key)
| Inserts an element into a minimizing priority queue.
void * | minpq_get_min (struct min_pq *min_pq)
| Returns the element of a minimizing priority queue with the smallest key without removing it from the queue.
void * | minpq_extract_min (struct min_pq *min_pq)
| Removes and returns the element of a minimizing priority queue with the smallest key.
void | minpq_release (struct min_pq **min_pq)
| De-allocates the memory held by a minimizing priorioty queue.

## Function Documentation

int minpq_insert | ( | struct min_pq * | min_pq,
|  | void * | data,
|  | int | key |
| ) |  |  |

Inserts an element into a minimizing priority queue.

Parameters:

  | min_pq | a minimizing priority queue
  | data | the data to be inserted
  | key | the key to be associated with data

Returns:
  Returns 0 on success or 1 on failure.

void* minpq_get_min | ( | struct min_pq * | min_pq | ) |

Returns the element of a minimizing priority queue with the smallest key without removing it from the queue.

Parameters:

  | min_pq | a minimizing priority queue

Returns:
  Returns the element of min_pq with the smallest key or NULL if min_pq is empty

void* minpq_extract_min | ( | struct min_pq * | min_pq | ) |

Removes and returns the element of a minimizing priority queue with the smallest key.

Parameters:

  | min_pq | a minimizing priority queue

Returns:
  Returns the element of min_pq with the smallest key of NULL if min_pq is empty

void minpq_release | ( | struct min_pq ** | min_pq | ) |

De-allocates the memory held by a minimizing priorioty queue.

Parameters:

  | min_pq | pointer to a minimizing priority queue