/****************************  vheap.h  **********************************

   Purpose:	Define a "virtual heap" module.

   Provenance:	Written and tested by Q. Chen and E. Fox, March 1991.
   		Edited and tested by S. Wartik, April 1991.

   Notes:	This isn't intended as a general-purpose stack/heap
   		implementation.  It's tailored toward stacks and heaps
		of vertices and their degrees, using a representation suitable
		for accessing them (in this case, an integer index into
		the vertices->verex array identifies the vertex).
**/


#ifdef __STDC__

extern void	allocate_vheap( int no_arcs, int no_vertices );

extern void	initialize_vheap();

extern void	add_to_vheap ( vertexType *vertex, int degree );
extern int	max_degree_vertex ( vertexType **vertex );

extern void	free_vheap();

#else

extern void	allocate_vheap();

extern void	initialize_vheap();

extern void	add_to_vheap ();
extern int	max_degree_vertex ();

extern void	free_vheap();

#endif
