热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_51382726
wlrobot
5 年前
trueweixin_51382726

哪个大佬能和我说这个约瑟夫环哪里有问题吗

#include <iostream>

using namespace std;
struct circle
{
int id;
circle *next;
};
circle* circlelist(int n)
{
circle *head,*p;
p=head=new circle;
for(int i=1;i<n;i++)
{
p->id=i;
p->next=new circle;
p=p->next;
}
p->id=n;
p->next=head;
return head;
}
circle* circledelect(circle *a,circle *b)
{
circle *h,*p;
p=a;
for(;p!=b;)
{
h=p;
p=p->next;
}
delete b;
h->next=b->next;
return h;
}
circle* circleselect(circle *a,int n)
{
circle *head,*p;
p=head=a;
int k=1,A=0;
for(;A!=n-1;)
{
if(k%3==0)
{
head=circledelect(a,p);
A++;
p=head;
}
p=p->next;
k++;
}
return p;
}

int main()
{
circle *a,*b;
int n;
cin>>n;
a=circlelist(n);
b=circleselect(a, n);
cout<<b->id<<endl;
return 0;
}

CSDN App 扫码分享
分享
评论
1
打赏
  • 复制链接
  • 举报
下一条:
我想学编程,但我不知道这么多的语言怎么选,计算机的基础设置不太了解,有人能为我直观地讲解一下吗。感激不尽
立即登录