josephus 約瑟夫的迴圈鍊錶實現

2021-04-06 22:32:32 字數 679 閱讀 3169

//有n個人圍坐在乙個圓桌周圍,現從第s個人開始報數,數到第m

//的人出列,然後從出列的下乙個人重新開始報數,數到第m的人

//又出列,…,如此反覆直到所有的人全部出列為止。

#include

#include

using namespace std;

typedef struct lnodelnode, *josephus;

josephus initjosephus()

josephus createjosephus(int enjoyin)

forword->next = head->next;

return head;

}void joseprocess( josephus &jose, int position, int cycle)

cout<<"out of the queue... "next != p)

if(cycle == 1 && p->next == p)

while( p->next != p )

temp = p->no;

qtemp->next = p->next;

delete p;

p = qtemp->next;

cout

迴圈鍊錶應用 Josephus

include using namespace std typedef int elemtype struct nodetype void josephus int n,int m,int k p data n p next head p head while p data p next data ...

Josephus 約瑟夫 問題

問題描述 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為1的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依此規律重複下去,直到剩下最後乙個人。程式的意圖是求出最後留下的人的編號。c 實現 include include include u...

約瑟夫(Josephus)問題

一群小孩圍成一圈,任意假定乙個數n,從第乙個小孩起,順時針方向數,每數到第m個小孩時,該小孩便離開。小孩不斷離開,圈子不斷縮小。最後剩下的乙個小孩便是勝者。求勝者的編號?函式名稱 josephus 作 成 者 erick.wang 作成日期 2016 07 19 返 回 值 void 參 數 m,n...