模拟器提供了一个简单易用的平台

源代码在线查看: gb_dijk.ch

软件大小: 1340 K
上传用户: zyhunicom
关键词: 模拟
下载地址: 免注册下载 普通下载 VIP

相关代码

				@x l.68				extern long dijkstra(); /* procedure to calculate shortest paths */				#define print_dijkstra_result p_dijkstra_result /* shorthand for linker */				extern void print_dijkstra_result(); /* procedure to display the answer */				@y				extern long dijkstra(Vertex *,Vertex *,Graph *,long (*)(Vertex *));				   /* procedure to calculate shortest paths */				#define print_dijkstra_result p_dijkstra_result /* shorthand for linker */				extern void print_dijkstra_result(Vertex *);				   /* procedure to display the answer */				@z								@x l.143				extern void @[@] (*init_queue)();				 /* create an empty priority queue for |dijkstra| */				extern void @[@] (*enqueue)(); /* insert a new element in the priority queue */				extern void @[@] (*requeue)(); /* decrease the key of an element in the queue */				extern Vertex *(*del_min)(); /* remove an element with smallest key */				@y				extern void @[@] (*init_queue)(long);				   /* create an empty priority queue for |dijkstra| */				extern void @[@] (*enqueue)(Vertex *,long);				   /* insert a new element in the priority queue */				extern void @[@] (*requeue)(Vertex *,long);				   /* decrease the key of an element in the queue */				extern Vertex *(*del_min)(void);				   /* remove an element with smallest key */				@z								@x l.162				static long dummy(v)				  Vertex *v;				@y				static long dummy(Vertex *v)				@z								@x l.169				long dijkstra(uu,vv,gg,hh)				  Vertex *uu; /* the starting point */				  Vertex *vv; /* the ending point */				  Graph *gg; /* the graph they belong to */				  long @[@] (*hh)(); /* heuristic function */				@y				long dijkstra(@t\1\1@>				  Vertex *uu, /* the starting point */				  Vertex *vv, /* the ending point */				  Graph *gg, /* the graph they belong to */				  long (*hh)(Vertex *)@t\2\2@>) /* heuristic function */				@z								@x l.257				void print_dijkstra_result(vv)				  Vertex *vv; /* ending vertex */				@y				void print_dijkstra_result(Vertex *vv) /* ending vertex */				@z								@x l.295				void @[@] (*init_queue)() = init_dlist; /* create an empty dlist */				void @[@] (*enqueue)() = enlist; /* insert a new element in dlist */				void @[@] (*requeue)() = reenlist ;				  /* decrease the key of an element in dlist */				Vertex *(*del_min)() = del_first; /* remove element with smallest key */				@y				void @[@] (*init_queue)(long) = init_dlist; /* create an empty dlist */				void @[@] (*enqueue)(Vertex *,long) = enlist; /* insert a new element in dlist */				void @[@] (*requeue)(Vertex *,long) = reenlist ;				  /* decrease the key of an element in dlist */				Vertex *(*del_min)(void) = del_first; /* remove element with smallest key */				@z								@x l.311				void init_dlist(d)				  long d;				@y				void init_dlist(long d)				@z								@x l.328				void enlist(v,d)				  Vertex *v;				  long d;				@y				void enlist(Vertex *v,long d)				@z								@x l.340				void reenlist(v,d)				  Vertex *v;				  long d;				@y				void reenlist(Vertex *v,long d)				@z								@x l.353				Vertex *del_first()				@y				Vertex *del_first(void)				@z								@x l.374				void init_128(d)				  long d;				@y				void init_128(long d)				@z								@x l.386				Vertex *del_128()				@y				Vertex *del_128(void)				@z								@x l.402				void enq_128(v,d)				  Vertex *v; /* new vertex for the queue */				  long d; /* its |dist| */				@y				void enq_128(@t\1\1@>				  Vertex *v, /* new vertex for the queue */				  long d@t\2\2@>) /* its |dist| */				@z								@x l.425				void req_128(v,d)				  Vertex *v; /* vertex to be moved to another list */				  long d; /* its new |dist| */				@y				void req_128(@t\1\1@>				  Vertex *v, /* vertex to be moved to another list */				  long d@t\2\2@>) /* its new |dist| */				@z								@x l.442				extern void init_dlist();				extern void enlist();				extern void reenlist();				extern Vertex *del_first();				extern void init_128();				extern Vertex *del_128();				extern void enq_128();				extern void req_128();				@y				extern void init_dlist(long);				extern void enlist(Vertex *,long);				extern void reenlist(Vertex *,long);				extern Vertex *del_first(void);				extern void init_128(long);				extern Vertex *del_128(void);				extern void enq_128(Vertex *,long);				extern void req_128(Vertex *,long);				@z							

相关资源