菜鸟请教----关于用邻接表存储图

hohowu 2004-04-10 10:13:41
下面是我的代码。
我从一个邻接矩阵里得到图的信息,然后用邻接表存储。
同时我想实现输入某个结点,找到和它直接相连的结点,并输出。
也就是把某一条连表上的结点输出来。
可输出的结点不是我想要的,哪位大虾帮忙看看啊。!!万分感谢!!


//遍历二维数组,建立链表
EdgeNode *Temp;
for (int intGRow=0;intGRow<intMatrixSize;intGRow++)
{
for (int intGClumn=0;intGClumn<intMatrixSize;intGClumn++)
{
if (intGraphArray[intGRow][intGClumn]!=0)
{
Temp=(EdgeNode *)malloc(sizeof(EdgeNode)); //生成边表结点
Temp->adjvex=intGClumn; //邻接点序号为j
Temp->next=BiaoTou[intGClumn].firstedge;
Temp->data=intGraphArray[intGRow][intGClumn];
BiaoTou[intGRow].firstedge=Temp; //将新结点插入顶点的边表头部
}
}
}


//查看关联情况
//查看与某点直接连接的结点情况

cout << endl
<< "请输入要查询的结点(0-" << intMatrixSize-1 <<")"<<endl;
int intFlag=0;
cin >> intFlag;
if ((intFlag>5) || intFlag<0 )
{
cout <<"请输入0-5的整数!";
}
//输出所要查询的结点
cout << BiaoTou[intFlag].vertex;
EdgeNode *TmpVnode;//临时的表结点
if (BiaoTou[intFlag].firstedge!=NULL)
{
cout << "-->" << BiaoTou[intFlag].firstedge->adjvex;
TmpVnode=BiaoTou[intFlag].firstedge;
while(TmpVnode->next!=NULL)
{
TmpVnode=TmpVnode->next;
cout <<"-->"<<TmpVnode->adjvex;
}
//释放内存空间
free (Temp);
}
...全文
35 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧