熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構之順序表上基本運算的實現[15]

2022-06-13   來源: 數據結構 

  算法思路從順序表中的第 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; /*找到出列元素的下標*/

[]  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23644.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.