//隣接リストのところにリンクリストを使った隣接リストを作りたいのですが、作った経験がないので全く分かりません。どなたか教えて頂けると嬉しいです。他にも間違いがあったら指摘の方をお願いします。
コード #include<stdio.h> #include<stdlib.h> #define VMAX 10 //最大点数 //枝 struct edge { char label; struct edge *next; }; //点 struct vertex { char label; struct edge *link; //リンクリスト }; //グラフ struct graph { int v,e; struct vertex vset[VMAX]; //点集合 }; int main() { struct graph grp; //グラフ int i,n; char c1,c2; struct edge *head,*p; for(i=0;i<VMAX;i++)grp.vset[i].link=NULL; //点数読み込み grp.v=scanf("%d%*c",&n); grp.v=n; printf("\n"); //点ラベルを読み込み for(i=0;i<n;i++){ char c; scanf("%c%*c",&c); grp.vset[i].label=c; } printf("\n"); //枝数読み込み grp.e=scanf("%d%*c",&n); grp.e=n; printf("\n"); //点ラベル対(枝)を読み込み for(i=0;i<n;i++){ scanf("%c%*c %c%*c",&c1,&c2); grp.vset[i].link=c1; grp.vset[i].link=c2; } //隣接リスト //グラフの確認 for(i=0;i<grp.v;i++){ printf("[%c]:",grp.vset[i].label); for(p=grp.vset[i].link; p!=NULL; p=p->next){ printf("%c",p->label); if(p->next !=NULL) printf("->"); } printf("\n"); } } ```ここに言語を入力 コード ```![イメージ説明](b08c9b4ab3357c6b0f0345e24c58fb81.png)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/25 06:07
2020/06/25 06:42
2020/06/25 08:52