约瑟夫环问题(循环链表表示)
2009-05-10 10:44
225 查看
#include "CircList.h"
template<class T>
void Josephus(CircList<T> &Js,int n,int m) //n---总数,m---目标数
{
CircLinkNode<T> *p = Js.GetHead()->link,*pre = NULL;
for (int i = 0;i < n-1;++i) //执行n-1次
{
for (int j = 1;j < m;++j) //数m个人
{
pre = p;
p = p->link;
if(p == Js.GetHead())
{
p = p->link;
pre = pre->link;
}
}
cout<<"出列的人是:"<<p->data<<endl;
pre->link = p->link;
delete p;
p = pre->link;
if(p == Js.GetHead())
{
p = p->link;
pre = pre->link;
}
}
}
void main()
{
CircList<int> clist;
int n,m;
cout<<"输入游戏者人数和报数间隔:";
cin>>n>>m;
for(int i = 1;i <= n;++i)
clist.Insert(i-1,i);
Josephus(clist,n,m);
}
相关文章推荐
- 用带头循环链表表示队列的问题
- 链表的应用:利用无头结点循环链表解决约瑟夫环问题
- 用循环链表解决约瑟夫环问题
- C语言基于循环链表解决约瑟夫环问题的方法示例
- C_线性表----约瑟夫环问题(循环链表)
- 约瑟夫环问题 (用循环链表解决)
- 线性表_循环链表(增减删查 + 约瑟夫环问题 代码实现 )
- 循环链表,约瑟夫环问题
- 用循环链表实现约瑟夫环问题
- 循环链表解决约瑟夫环问题
- 循环链表(解决约瑟夫环问题)(VS…
- 数据结构与算法(4、约瑟夫环问题到循环链表)
- 约瑟夫环问题(循环链表)
- 约瑟夫环问题(循环链表)
- 循环链表解决约瑟夫环问题
- 数据结构:循环链表求解约瑟夫环问题
- 约瑟夫环问题(循环链表)
- 【数据结构】循环链表解决约瑟夫环问题
- 约瑟夫环问题(循环链表)
- 循环链表解决约瑟夫环问题