00001 #include "util.h" 00002 #include "list.h" 00003 #include "array.h" 00004 #include "st.h" 00005 #include "graph.h" 00006 00007 typedef struct graph_struct_int { 00008 gGeneric user_data; 00009 lsList v_list; 00010 lsList e_list; 00011 } graph_t_int; 00012 00013 typedef struct vertex_struct_int { 00014 gGeneric user_data; 00015 graph_t_int *g; 00016 lsList in_list; 00017 lsList out_list; 00018 int id; 00019 lsHandle handle; /* for quick deletion in the graph v_list */ 00020 } vertex_t_int; 00021 00022 typedef struct edge_struct_int { 00023 gGeneric user_data; 00024 vertex_t_int *from; 00025 vertex_t_int *to; 00026 int id; 00027 lsHandle handle; /* for quick deletion in the graph e_list */ 00028 } edge_t_int; 00029 00030 EXTERN void del_from_list(lsList, lsGeneric); 00031 extern int g_unique_id;