#include #include #include #define MAX 1000 typedef struct node { char a[100]; struct node* next; }edgenode; typedef struct { char name[100]; edgenode* firstnode; }vexnode; typedef struct { vexnode adjust[7]; int e, n; }list; list nm; char position[100]="address.txt"; typedef struct { char s[100]; }filed; filed fi[100]; void createfile(){ int i; FILE* op; op=fopen(position,"ab"); if(op==NULL){ printf("该文件未找到"); return ; } char strs[100]; for(i=0;i<7;i++){ printf("请输入:\n"); scanf("%s",strs); fprintf(op,"%s\n",strs); } fclose(op); } void creatnode() {//对节点进行初始化 nm.e = 7;//边数 nm.n = 7;//站点数 FILE* op; op=fopen(position,"rb"); if(op==NULL) { printf("文件不存在"); } int i=0; while(1){ char strs[100]; if(fscanf(op,"%s",strs)!=EOF){ //printf("%s\n",strs); strcpy(nm.adjust[i].name,strs); i++; } else break; } fclose(op); for (i = 0; i < nm.n; i++) { nm.adjust[i].firstnode = NULL; } } void printff(){ for(int i=0;ia, "东安路"); p->next = nm.adjust[0].firstnode; nm.adjust[0].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "嘉善路"); p->next = nm.adjust[0].firstnode; nm.adjust[0].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "徐家汇"); p->next = nm.adjust[0].firstnode; nm.adjust[0].firstnode = p; //下面是东安路的邻接表 p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "肇嘉浜路"); p->next = nm.adjust[1].firstnode; nm.adjust[1].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "上海体育场"); p->next = nm.adjust[1].firstnode; nm.adjust[1].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "大木桥路"); p->next = nm.adjust[1].firstnode; nm.adjust[1].firstnode = p; //下面是上海体育场的邻接表 p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "东安路"); p->next = nm.adjust[2].firstnode; nm.adjust[2].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "上海体育馆"); p->next = nm.adjust[2].firstnode; nm.adjust[2].firstnode = p; //下面是嘉善路的邻接表 p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "大木桥路"); p->next = nm.adjust[3].firstnode; nm.adjust[3].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "肇嘉浜路"); p->next = nm.adjust[3].firstnode; nm.adjust[3].firstnode = p; //下面是大木桥路 p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "东安路"); p->next = nm.adjust[4].firstnode; nm.adjust[4].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "嘉善路"); p->next = nm.adjust[4].firstnode; nm.adjust[4].firstnode = p; //下面是徐家汇 p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "肇嘉浜路"); p->next = nm.adjust[5].firstnode; nm.adjust[5].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "上海体育馆"); p->next = nm.adjust[5].firstnode; nm.adjust[5].firstnode = p; //下面是上海体育馆 p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "徐家汇"); p->next = nm.adjust[6].firstnode; nm.adjust[6].firstnode = p; p = (edgenode*)malloc(sizeof(edgenode)); strcpy(p->a, "上海体育场"); p->next = nm.adjust[6].firstnode; nm.adjust[6].firstnode = p; } int cont[100][100];//邻接矩阵 void aaa(){ int i,j; for(i=0;i