| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1049 人关注过本帖
标题:求大神解答一个关于指针的问题
只看楼主 加入收藏
脚快跑
Rank: 2
等 级:论坛游民
帖 子:3
专家分:25
注 册:2016-5-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
求大神解答一个关于指针的问题
本来是要创建一个邻接表的,但是输入数据里没有给输入边的数目,所以我就在每次输入一个数字时用指针遍历当前节点的邻接点,看是否有重复,有则该节点数组数据输入完毕,换下一个节点数组,但是遍历用的那个指针一直报错

typedef struct ArcNode //单个邻接点点结构
{
int adjvex; //下标
struct ArcNode *nextarc; //下一个邻接点
}ArcNode;


typedef struct VNode
{
ArcNode *firstarc; //头节点
int data; //节点数据
}VNode, AdjList[MAX]; //节点数组


typedef struct
{
AdjList adjList; //节点数组
int numVertexes; //邻接表节点数目
}GraphAdjList;
邻接表结构

下面是输入数据
(1)输入:input.txt,里面有至少3行,第一行为节点个数,第二行开始为无向图各个节点的邻接表示,最后一行是空行。若以上例为例,则input.txt中的数据(全部为半角符号)为:
4
0 1 3
1 0 2 3
2 1 3
3 0 1 2

代码:
/*待修改   设置一个指针遍历,看是否有重复边  有则使用下一个数组*/  /*指针问题,未解决  */
void CreateGraph(GraphAdjList *G)
{
        int i, input;
        scanf("%d", &G->numVertexes);
        for(i = 0; i < G->numVertexes; i++);
        {
            G->adjList.firstarc = NULL;
                G->adjList.data = i;
        }
        scanf("%d", &i);
        while(scanf("%d", &input) != EOF)
        {
                ArcNode *q;
                q = G->adjList.firstarc;        
                while(q)
                {
                        if(q->adjvex == input)
                        {
                                i++;
                                break;
                        }
                        q = q->nextarc;
                }
                ArcNode *p;
                if(!q)
                {
                        p = (ArcNode *)malloc(sizeof(ArcNode));
                        p->adjvex = input;
                        p->nextarc = G->adjList.firstarc;
                        G->adjList.firstarc = p;
                }
        }
}

可以帮忙看一下吗 类似的问题我遇到两次了 查书,上网都找不到答案
2016-05-14 17:24
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:20 
q = G->adjList[i].firstarc;

未佩好剑,转身便已是江湖
2016-05-14 18:54
快速回复:求大神解答一个关于指针的问题
数据加载中...
 
   



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

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