| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 323 人关注过本帖
标题:图遍历的程序有问题。
取消只看楼主 加入收藏
五号
Rank: 2
等 级:论坛游民
帖 子:31
专家分:27
注 册:2011-10-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
图遍历的程序有问题。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>

#define MAX_VERTEX_NUM 20


typedef int VertexType;
typedef struct ArcNode
{
    int adjvex;
    struct ArcNode *nextarc;
}ArcNode;

typedef struct Vnode
{
    VertexType data;
    ArcNode *firstarc;
}VNode,AdjList[MAX_VERTEX_NUM];

int n;

typedef enum{FALSE=0,TURE=1} boolean;

boolean visited[MAX_VERTEX_NUM];

//以上是结构体的定义。


void creat(AdjList *g)
{
    ArcNode *p,*q;
    int m,s,d,i;
    printf("请输入定点和边数");
    scanf("%d,%d",&n,&m);
    for(i=1;i<=n;i++)
    {
        g[i].data=i;              //出问题的就是这里   提示 request for member 'data'in '*(g++(i*160))',which is of non_aggregate type vnode[20]
        g[i].firstarc=NULL;
    }
    
    for(i=1;i<=m;i++)
    {
        printf("第%d条边的起始顶点编号和终止顶点编号");
        scanf("%d,%d",&s,&d);
        while(s<1||s>n||d<1||d>n)
        {
            printf("error,aganin");
            scanf("%d,%d",&s,&d);
        }
        
        p=malloc(sizeof(ArcNode));
        p->adjvex=d;
        p->nextarc=NULL;
        if(!g[s].firstarc)
        {
            g[s].firstarc=p;
        }
        else
        {
            q=g[s].firstarc;
            while(q->nextarc)
            q=q->nextarc;
            q->nextarc=p;
        }
    }
}






求解阿求解!!!!!!!
2012-05-02 08:00
快速回复:图遍历的程序有问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013392 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved