【题目】
设有n个人(以编号为1,2,3…….n分别表示)围坐在圆桌周围,从编号为k的人开始报数,数到m的人就站出来,他的下一个人又从1开始报数,数到m的人就站出来,依此规律重复下去,知道全部的人都站出来为止。
【代码实现】
这里选择循环链表作为数据结构。
#include<iostream>
using namespace std;
struct node
{
int data;
node *next;
};
class linklist
{
public:
linklist() //利用构造函数对循环链表进行初始化
{
node *p=new node();
p->data=1;
p->next=p;
first=p;
};
void josephus(int n,int

这是一道程序员面试题目,描述了n个人围坐圆桌,从编号k开始报数,每数到m的人出局,以此类推直到所有人都出局。解决方案采用循环链表数据结构来模拟过程。
最低0.47元/天 解锁文章
3076

被折叠的 条评论
为什么被折叠?



