能讲解一下这些代码的意思吗?我不太懂啊!谢谢了

#include<stdio.h>structNode{intx;Node*next;};voidShow(structNode*p){structNode*T;T=p;... #include<stdio.h>
struct Node
{
int x;
Node *next;
};
void Show(struct Node *p)
{
struct Node *T;
T=p;
while(T!=NULL)
{
printf("%3d",T->x);
T=T->next;
}
printf("\n");
}
main()
{
struct Node *N=new Node();
N->next=N;
N->x=1;
struct Node *T;
T=N;
for(int i=13;i>1;i--)
{
Node *p=new Node();
p->x=i;
p->next=T->next;
T->next=p;
}
int m=3;
int k;
//printf("输入m=");
//scanf("%d",&m);
struct Node *r,*y;
r=y=N;
while(r->next!=y)
r=r->next;
while(r!=r->next)
{
k=1;
while(k<m)
{
r=y;
y=y->next;
k++;
}
printf("%3d\n",y->x);
y=y->next;
r->next=y;
}
printf("最后一个出局的是:%d\n",r->x);
}
展开
 我来答
七七七的0E6
2011-01-11 · TA获得超过651个赞
知道答主
回答量:253
采纳率:0%
帮助的人:262万
展开全部
#include<stdio.h>
struct Node 结点结构体
{
int x; 结点的值x
Node *next; next结点是结点结构体类型
};
void Show(struct Node *p) 显示链表中所有结点的值
{
Struct Node *T;
T=p;
while(T!=NULL) 当T不为最后一个结点的时候
{
printf("%3d",T->x); 输出x
T=T->next; 指针指向next
}
printf("\n");
}
main() 主函数
{
struct Node *N=new Node(); 动态创建一个node()
N->next=N; n的next还是n。空的链表
N->x=1; n的值是1
struct Node *T;
T=N;
for(int i=13;i>1;i--) 创建一个有13个结点的链表
{
Node *p=new Node();
p->x=i;
p->next=T->next;
T->next=p;
}
int m=3;
int k;
//printf("输入m=");
//scanf("%d",&m);
struct Node *r,*y;
r=y=N;
while(r->next!=y)
r=r->next;
while(r!=r->next)
{
k=1;
while(k<m)
{
r=y;
y=y->next;
k++;
}
printf("%3d\n",y->x);
y=y->next;
r->next=y;
}
printf("最后一个出局的是:%d\n",r->x);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自己取名比较好
2011-01-17
知道答主
回答量:17
采纳率:0%
帮助的人:4万
展开全部
#include<stdio.h>
struct Node 结点结构体
{
int x; 结点的值x
Node *next; next结点是结点结构体类型
};
void Show(struct Node *p) 显示链表中所有结点的值
{
Struct Node *T;
T=p;
while(T!=NULL) 当T不为最后一个结点的时候
{
printf("%3d",T->x); 输出x
T=T->next; 指针指向next
}
printf("\n");
}
main() 主函数
{
struct Node *N=new Node(); 动态创建一个node()
N->next=N; n的next还是n。空的链表
N->x=1; n的值是1
struct Node *T;
T=N;
for(int i=13;i>1;i--) 创建一个有13个结点的链表
{
Node *p=new Node();
p->x=i;
p->next=T->next;
T->next=p;
}
int m=3;
int k;
//printf("输入m=");
//scanf("%d",&m);
struct Node *r,*y;
r=y=N;
while(r->next!=y)
r=r->next;
while(r!=r->next)
{
k=1;
while(k<m)
{
r=y;
y=y->next;
k++;
}
printf("%3d\n",y->x);
y=y->next;
r->next=y;
}
printf("最后一个出局的是:%d\n",r->x);
}希望对你有所帮助!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式