#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int i, j, m, n, a, b, c;
cout<<"请输入总人数和间隔数"<<endl;
cin>>n >>m;
int *array = new int[n];
int *Array = new int[n];
a = n;
c = 0;
for(i = 0; i < n; i++)
array[i] = i + 1; ///建立约瑟夫环
i = 0;
while(n > 0)
{
i = (i + m - 1)%n;
b = array[i];
for(j = i; j < n-1; j++)
array[j] = array[j+1]; //将要取出的数后面的数全部前移一位
Array[c] = b; //将要取出的数放在另一个数组
c++;
n--; //改变原数组的长度
}
for(i = 0; i < a; i++)
cout<<Array[i]<<" ";
cout<<endl;
return 0;
}
C++实现约瑟夫环顺序表
最新推荐文章于 2022-11-04 16:44:18 发布