杭电数据结构joseph环(5)
时间:2025-04-30
时间:2025-04-30
杭电数据结构joseph环
cin>>m;//第一次,在尾指针所在单元输入值
tail->data=m;
tail->num=1;
q=tail;
for(int i=2;i<=n;i++)
{
cin>>m;
p=new Node;
p->data=m;
p->num=i;
tail->next=p;//尾部添加元素
tail=p;//tail指针下移,指向p
}
tail->next=q;
}
bool Joseph:: Deal(int m)//处理约瑟夫环
{
int number;
while(len)
{
Node *q,*p=tail;//p指向链表的第一个元素
while(--m)
p = p->next;//p指向要删除的前一个元素
q=p->next;//q指向要删除的元素
m = q->data;
number=q->num;
tail=p;//tail所指向删除单元的前一个
p->next=q->next;
delete q;
len--;
cout<<number<<" ";
}
return true;
}
int main()
{
int m,n;
Joseph joseph;
cout<<"请输入m的初值:"<<endl;
cin>>m;
cout<<"请输入人数n的值:"<<endl;
下一篇:压强实验复习