wl031113 发表于 2015-4-1 16:09:44

刚看完小甲鱼的用邻接表存图,找不到代码,不知道自己写的对不对,求大神

#include<stdio.h>
#include<stdlib.h>
#define maxsize 100
typedef struct node{ //定义一个结构体顶点 node
char data;//存放数据
struct node *next;//存放链表
}node,*Node;
int main(){
node v;
int count=0,j,i;
char c;
Node p,q;

printf("input the node ! end with '#'\n");
while(scanf("%c",&c)&&'#'!=c){//对结构体数组初始化data 以‘#’结束
v.data=c;
count++;
}

int map;
FILE *fp;      //从一个abc.txt文本里面读取地图 (0,1)
fp=fopen("abc.txt","r");
for(i=0;i<count;i++)
for(j=0;j<count;j++)
   fscanf(fp,"%d",&map);
   
for(i=0;i<count;i++){
   q=&v;                //让q依次指向每个顶点
for(j=0;j<count;j++){
   if(1==map){
    p=(Node)malloc(sizeof(node));//如果有邻接顶点,动态开辟一个链表存放
    p->data=v.data; //存放邻接顶点数据
    p->next=NULL;
   
    q->next=p;//等待存放下一个邻接顶点
    q=p;
   }
}
}
for(i=0;i<count;i++){
   p=&v;      //从每个顶点开始
   printf("the %d line list is\n",i+1);
   while(p){
    printf("%c ",p->data);// 依次输出他的邻接链表
    p=p->next;
   }
   printf("\n");
}
}
//ps:新学的小菜鸟,随便教训,随便提议,只求不喷



页: [1]
查看完整版本: 刚看完小甲鱼的用邻接表存图,找不到代码,不知道自己写的对不对,求大神