C2 #2

Merged
mac76tib2 merged 2 commits from C3 into master 1 year ago

@ -74,7 +74,117 @@
``` ```
##C2:初始化节点以及打印节点名称并通过邻接表和邻接矩阵来表示图的结构{41-151} ##C2:初始化节点以及打印节点名称并通过邻接表和邻接矩阵来表示图的结构{41-151}
``` ```
代码: 代码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;i<nm.n;i++){
printf("%s\n",nm.adjust[i].name);
}
}
void createlist() {
struct node *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[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<nm.n;i++){
for(j=0;j<nm.n;j++) cont[i][j]=MAX;
}
}
``` ```
##C3创建邻接矩阵、打印邻接矩阵和执行Dijkstra算法{152-230} ##C3创建邻接矩阵、打印邻接矩阵和执行Dijkstra算法{152-230}
``` ```

@ -38,3 +38,114 @@
} }
fclose(op); 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;i<nm.n;i++){
printf("%s\n",nm.adjust[i].name);
}
}
void createlist() {
struct node *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[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<nm.n;i++){
for(j=0;j<nm.n;j++) cont[i][j]=MAX;
}
}
Loading…
Cancel
Save