本文主要是介绍约瑟夫环的C++实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<stdio.h>
#include<iostream>
#include<malloc.h>
#include<string>
#include<queue>
using namespace std;
int main()
{
int n,i;
int w,s;
queue<string> q;
printf("输入个数:\n");
if(cin>>n)
{
for(i=0;i<n;i++)
{
string name;
printf("输入第%d个名字:\n",i+1);
cin>>name;
q.push(name);
}
}
printf("输入从第几个人开始,输入第几个数出列:\n");
scanf("%d,%d",&w,&s);
for(i=0;i<w-1;i++)
{
string str = q.front();
q.pop();
q.push(str);
}
printf("输入出队顺序:\n");
while(q.size()>0)
{
for(i=0;i<s-1;i++)
{
string str = q.front();
q.pop();
q.push(str);
}
cout<<q.front()<<endl;
q.pop();
}
return 0;
}
这篇关于约瑟夫环的C++实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!