約瑟夫環 陣列與鍊錶實現

2021-07-05 05:25:49 字數 501 閱讀 4325

約瑟夫環是乙個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。

從編號為k的人開始報數,數到m的那個人出列;他的下乙個人又從1開始報數,

數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列.

1、陣列實現

void josepharrary(int a,int n,int k)

} j++;

if(j==n)

j=0;

} for(i=0;i

struct node

;

node * createlink(int n)

} q->next=head;

return q; //考慮到報數為1出環的情況

}

void josephlink(node *head,int len,int k)

p=p->next;

} cout<

鍊錶實現約瑟夫環

約瑟夫環 約瑟夫問題 是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依 此規律重複下去,直到圓桌周圍的人全部出列。實現 include using namespace ...

迴圈鍊錶實現約瑟夫環

約瑟夫問題 有n個人圍坐一圈,從第k個人開始數,數到m的那個人出隊。知道最後乙個人出隊。有11個人,從第2個人開始數,數到3的那個人出隊。如下簡圖 這裡有兩個關鍵 1 建立迴圈佇列 不能有頭結點 2 隔m 1步取出該節點 程式如下 include using namespace std typede...

雙向鍊錶實現約瑟夫環

c語言版 author super yang date 2017 03 30 include includetypedef struct node 定義鍊錶節點型別 linklist int main else temp head total n 記錄當前人數 front head while to...