qq_41938244 2019-01-02 22:59 采纳率: 0%
浏览 505

求帮助!C语言 图 邻接表文件怎么读取

结构体是这个:
#define MAXSIZE 11
typedef struct node
{
int dizhi;
int weiquan;
struct node *next;
}NODE,NN[MAXSIZE];
typedef struct
{
int NO;
char name[50];
char xingxi[500];
NODE *head;
}JieDian;
typedef struct
{
JieDian jiedian[MAXSIZE];
int ding;
int bian;
}TU;

TU duqu()            //文件读取
{
    TU *g;
    g=(TU *)malloc(sizeof(TU));
    g->bian=0;
    g->ding=0;
    JieDian *p;
    node *q,*t;
    FILE *fp;
    fp=fopen("tu.txt","rt");
    if(fp==NULL)
        printf("没能成功打开文件!(文件不存在)\n");
    else
    {
        while(!feof(fp))  
        {
            q=(node *)malloc(sizeof(node));
            p=(JieDian *)malloc(sizeof(JieDian));
            fscanf(fp,"%d %s:%s",&p->NO,p->name,p->xingxi);
            t=q=g->jiedian[g->ding].head;
            g->ding++;
            do
            {
                fscanf(fp,"->%d(%dkm) ",&q->dizhi,&q->weiquan);
                t=q;
                q=q->next;
                g->bian++;
            }while(q!=NULL);
            t->next=NULL;           
        }

    }
    printf("\t\t文件中已有%d个顶点,%d条边\n",g->ding,g->bian);
    return (*g);
    fclose(fp);
}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 15:23
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效