算法思路从顺序表中的第 s 个元素开始寻找第s+m个元素找到后输出(在寻找过程中若到表尾则跳到开始位置通过取模实现)再删除该元素下一次从该位置重复上述过程
算法描述如下
int josephus_ SeqList (PSeqList josephus_seq int s int m)
{ /*求解约瑟夫问题的出列元素序列入口参数已经存放数据的顺序表起始位置s数m */
/*出口参数表示成功表示表中没有元素*/
int siw;
if ( ! josephus_seq>length)
{
printf(表中无元素);
return ();
}
s=s ; /*data数组中下标从开始*/
printf(输出约瑟夫序列);
for(i= josephus_seq>length; i>; i ;)
{
s=(s+m)% i; /*找到出列元素的下标*/
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []