C语言中关于结构、链表的问题?

#include<stdio.h>#include<stdlib.h>structnode{intdata;structnode*next;}*head,*a;intma... #include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
}*head,*a;
int main()
{
int m, n, i;
scanf("%d %d",&n,&m);
head = new node;
head->next=NULL;
head->data=1;
a = head;
for(i = 2; i <= n; i++)
{
node *b = new node;
b->data = i;
b->next = NULL;
a->next = b;
a = b; //这里a等于b?还是b赋值给a?
}
a->next=head;
node *q = head;
i = 0;
while(q->next!=q)
{
i++;
if(i==m-1)
{
node *p = q->next;
q->next = q->next->next; // q->next 等于q->next->next?还是q->next->next赋值给q->next??
delete(p);
i = 0;
q=q->next;
}
else
{
q=q->next;
}
}
printf("%d\n",q->data);
return 0;
}

疑问:
1、在这道题中,自认为结构a、b结构示意图画法。大侠能不能把p、q在整个链表中流通的过程说明一下吗?

2、对于题中提到的 “a=b”与 “q->next = q->next->next”。它们之间是“相等”关系还是“赋值”关系?
展开
 我来答
平安不是妖3914
2014-09-14 · TA获得超过840个赞
知道小有建树答主
回答量:631
采纳率:0%
帮助的人:413万
展开全部
你这个示意图不对,这个程序的功能是:首先,建立一个单循环链表,长度为n,里面的值分别为1,2,3,4,...一直到n。然后,对这个循环链表中第m-1个元素进行删除。示意图画起来太费事 了,有什么不懂,再问吧。

#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
}*head,*a;
int main()
{
int m, n, i;
scanf("%d %d",&n,&m);
head = new node;
head->next=NULL;
head->data=1;
a = head;
for(i = 2; i <= n; i++)
{
node *b = new node;
b->data = i;
b->next = NULL;
a->next = b;
a = b; //这里a等于b?还是b赋值给a? 解释:这里的“=”是赋值,把 b //的值赋给a(b和a里存的都是地址值),C语言 中等于的符号是:==

}
a->next=head;
node *q = head;
i = 0;
while(q->next!=q)
{
i++;
if(i==m-1)
{
node *p = q->next;
q->next = q->next->next; // q->next 等于q->next->next?还是q->next->next赋值给 //q->next?? 解释:这和上面一个问题,不回答了。

delete(p);
i = 0;
q=q->next;
}
else
{
q=q->next;
}
}
printf("%d\n",q->data);
return 0;
}
更多追问追答
追问
麻烦大侠把示意图画看看呗,我可以你加分的!
追答

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
求解extreme
2014-09-14
知道答主
回答量:22
采纳率:0%
帮助的人:18.5万
展开全部
1 流通过程呗,你的书上应该有图吧。
2 因为p,q,next,q->next等是指针,而等号可以看做将等号左边的指针指向右边的地址,所以不是像普通变量一样的赋值关系。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式