adjlist.h.html
//**************************************************************************
#ifndef ADJLIST_H
#define ADJLIST_H
//**************************************************************************
#include "vertex.h"
//**************************************************************************
const int List_Default_Size = 1001;
//**************************************************************************
class AdjList //Adjacency List class
{
	private:
	    int size;
	    int edges;
   	    int verts;
	    struct Adj_Node {
   		Vertex *curpos;
   		Vertex *head;
   		short known;
   		int dist;
		} *List;

	public:
	   AdjList(int new_size = List_Default_Size);
	   ~AdjList();

	   void add_Edge(int ptA,int ptB, int edge);
	   int operator ()(int vertA,int vertB);

	   int Empty() {return (size == 0);};
	   void setVerts(int nv) {verts = nv;};
	   int no_of_edges() {return edges;};
	   int no_of_verts() {return verts;};
	   void setKnown(int i,short status) {List[i-1].known = status;};
	   short Known(int i) {return List[i-1].known;};
	   int distance(int i) {return List[i-1].dist;};
	   void setDist(int i, int distance) {List[i-1].dist = distance;};
	   Vertex *start(int i) {return List[i-1].head->next;};

};
//**************************************************************************
#endif
//**************************************************************************