十字链表的一个问

kw816 2003-09-15 03:39:03
中程教材十字链表例倒题


typedef struct ele{int row,col,double val;
struct ele *right,*down} eleNode;
eleNode *createNullMat(int m,int n)
{eleNode *h,*p;int k;
.
.
.
for(p=h->down,k=0;k<m;k++,p++)
{p->right=p; AAAA
p->down=k<m-1?p+1:h->down;}
.
.
.
return h;}

int insertnode(eleNode *a,int row,int col,double val){
eleNode *p,*q,*v,*u,*v;
.
.
.
p=a->down+row;
q=p->right;BBBB
while (q->col<col)
{p=q;q=q->right;CCCC
}
.
.
.
}

eleNode *readmat(){
.
.
.
h=createNullMat(m,n);
.
.
.
insertNode(h,i,j,v);
.
.
.
}
程序是这样
我的问题是:AAAA处p->right与p都指向同一地址
而BBBB处q也指向同一地址,而且q->right
也应指向同一地址 ,CCCC处的语句起何作用,
我认为指来指去都是指回同一地址。各位高手是否认同,请指教



...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kw816 2003-09-16
  • 打赏
  • 举报
回复
从两个函数整体看,我的了解是:
AAAA与BBBB处已有如结果, p=p->right=q=q->right;
CCCC处语句是没用的,在这里不好用箭头表示,用箭头表示清楚多了。
langzi8818 2003-09-15
  • 打赏
  • 举报
回复
p=q;q=q->right;
在这里,P指向q所指的接点,然后让q去指向下一个接点。这样插入的时候就可以明确的操作了
sole_eagle 2003-09-15
  • 打赏
  • 举报
回复
CCCC处是q指针指向q的right结点的。

2,959

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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