数据结构之顺序表上基本运算的实现[15]
1个回答
展开全部
算法思路 从顺序表中的第 s 个元素开始寻找第s+m 个元素 找到后输出(在寻找过程中若到表尾 则跳到开始位置 通过取模实现) 再删除该元素 下一次从该位置重复上述过程
算法描述如下
int josephus_ SeqList (PSeqList josephus_seq int s int m)
{ /*求解约瑟夫问题的出列元素序列入口参数 已经存放数据的顺序表 起始位置s 数m */
/*出口参数 表示成功 表示表中没有元素*/
int s i w;
if ( ! josephus_seq >length)
{
printf( 表中无元素 );
return ( );
}
s =s ; /*data数组中下标从 开始*/
printf( 输出约瑟夫序列 );
for(i= josephus_seq >length; i> ; i ;)
{
s =(s +m )% i; /*找到出列元素的下标*/
lishixinzhi/Article/program/sjjg/201311/23644
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询