HWANGYUKAH 2019-06-20 17:41 采纳率: 0%
浏览 440
已采纳

请教数据结构#邻接链表表示图?

输出很奇怪,请问如何解决呢?

图片说明

#include<stdio.h>
#include<stdlib.h>
#define MAX 6

struct node
{
    int adjvex;
    struct node *next;  
};
typedef struct node edgenode;

struct hnode
{
    int info;
    edgenode *link;
};
typedef struct hnode headnode;

headnode data[MAX];

void createlist ()
{
    int i,j,k;
    edgenode *s;
    int num,e;

    printf("一共有多少条边");
    scanf("%d",&e);

    for(i=1;i<MAX;i++)
    {
        printf("输入顶点");
        scanf("%d",&num); 
        data[i].info=num;
        data[i].link=NULL;
    }

    for(k=1;k<=e;k++)
    {
        printf("输入边的两个顶点"); 
        scanf("%d%d",&i,&j);
        s=(edgenode *)malloc(sizeof(edgenode));
        if(s!=NULL)
        {
            s->adjvex=j;
            s->next=data[i].link;
            data[i].link=s;

        }
        s=(edgenode *)malloc(sizeof(edgenode));
        if(s!=NULL)
        {
            s->adjvex=i;
            s->next=data[j].link;
            data[j].link=s;

        }

    }

}
void printf_list ()
{
        int i;
        edgenode *pointer;
        for(i=1;i<MAX;i++)
        {
            printf("顶点表:%d",data[MAX].info);

            pointer=data[MAX].link;
            while(pointer!=NULL)
            {
                printf("%d",pointer->adjvex);
                pointer=pointer->next;
            }

        }


}


int main()
{


    createlist();
    printf_list();
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-06-20 23:48
    关注

    printf("顶点表:%d",data[MAX].info);
    ->
    printf("顶点表:%d",data[i].info);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料