约瑟夫问题 数组模拟循环链表的实现

#include<cstdio>
#include<iostream>
using namespace std;
int next[10001];//模拟链表
int main()
{
    int cur=n,cnt=1,i,peo=0,n,m;
    cin>>n>>m;
    for(i=1;i<n;i++)
    next[i]=i+1;
    next[n]=1;//模拟循环链表
    while(peo<n)
    {
        while(cnt<m)
        {
            cur=next[cur];    cnt++;
        }
    cout<<next[cur]<<endl;
    next[cur]=next[next[cur]];
    cnt=1;    peo++;
    }
    return 0;
    }

    原文作者:约瑟夫环问题
    原文地址: https://blog.csdn.net/u010583225/article/details/81633474
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞