約瑟夫環,迴圈鍊錶實現

2021-10-10 20:16:58 字數 557 閱讀 6044

約瑟夫環的定義就不再贅述,直接上**。

如果朋友能看完這個**,相信你能理解接下面這個小故事。

有個人想從這個世界上消失,但是他又不想死,他想到了乙個辦法,他可以把另外乙個人殺了,然後再用這個人的身份生活下去。(這個小故事與約瑟夫環無關)

#include

#include

struct node

;int

main()

else

p->next = head-

>next;

i =1;

node *cru = head-

>next;

node *nextnode;

while(1

) cru = cru-

>next;

i++;if

(count == n -1)

}}for(i =

0; i < count; i++

)free

(head)

;return0;

}

迴圈鍊錶實現約瑟夫環

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

約瑟夫環 迴圈鍊錶實現

題目 約瑟夫環的一種描述為 編號為1,2,n的n個人按順時針方向圍坐一圈,每人持有乙個密碼 正整數 一開始任選乙個正整數作為報數上限值m,從第乙個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向上的下乙個人開始重新從1報數,如此下去,直到所...

迴圈鍊錶實現約瑟夫環

首先我們先上圖幫助理解 環狀順序佇列 top為隊首指標 rear為隊尾指標 我們需要注意,順序佇列在判斷陣列中資料是否存滿時,會出現下面情況 由上我們發現 我們為了區分二者,最簡單的解決辦法是 犧牲掉陣列中的乙個儲存空間 迴圈佇列的操作 i.size為順序佇列申請的空間大小 ii.q 為資料集合 出...