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 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)