迴圈單鏈表解決迴圈報數問題

2021-10-07 15:46:10 字數 568 閱讀 6294

有n(n>1)個人圍成一圈迴圈報數,每次報到3就出列,剩下的人繼續從1開始報數,直至只剩乙個人,求剩下那乙個人的原始編號。

#include

using

namespace std;

typedef

struct node

linklist;

void

baoshu

(int m)

r->next = l;

//尾節點指向頭節點

p = r-

>next;

//與r作為指針對配合使用,找到p時,方便利用p的前趨節點r進行刪除

int k =1;

//記錄報數

while

(m>1)

//人數大於1時迴圈報數,直至只剩一人

else

//報到3時釋放p節點

}return

(r->data)

;//r始終指向被刪除節點的前趨節點,最後只剩一人時,r就指向最後一人,輸出其原始編號};

intmain()

運用迴圈單鏈表解決約瑟夫環問題

include using namespace std struct node 構造結點 為結點初始化 分配空間 int data node next class josephus void create 鍊錶的初始化 void output 輸出數值 private node head 迴圈鍊錶的...

用迴圈單鏈表解決約瑟夫(Joseph)問題

用迴圈單鏈表解決約瑟夫 joseph 問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該...

用迴圈單鏈表解決約瑟夫(Joseph)問題

據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下乙個重新報數,直到所...