資料結構 約瑟夫斯環(cir sqlink)

2021-10-11 21:15:47 字數 1013 閱讀 1480

讓n個人圍成乙個圈,並編號1~n,從編號1的人開始計數,每次殺掉下乙個編號的人,直到留下最後倖存者。

比如:n=6,這6個人分別是1,2,3,4,5,6

第一輪,2、4、6位置上的人被殺,然後3,5補到2,3的位置上,即剩下的人是1,3,5,(1)

第二輪3、1被殺,5倖存下來

cir_sqlink.h

#include

typedef

struct node* pointer;

typedef

struct node

cir_sqlink;

cir_sqlink*

create_cir_sqlink()

;void

deletenode

(cir_sqlink *rear)

;cir_sqlink *

josephuskill

(cir_sqlink *rear)

;

cir_sqlink.cpp

#include

"cir_sqlink.h"

cir_sqlink*

create_cir_sqlink()

//建立有n個元素的不帶頭結點的迴圈單鏈表

return rear;

}void

deletenode

(pointer p)

//刪除鍊錶中指定結點的下乙個結點

cir_sqlink *

josephuskill

(cir_sqlink *rear)

//約瑟夫斯環遊戲

return p;

}

main.cpp

#include

"cir_sqlink.h"

void

main()

資料結構 約瑟夫環

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

資料結構 約瑟夫環問題

實驗一線性表的應用 實驗目的和要求 通過實驗進一步理解線性表的邏輯結構和儲存結構,提高使用理論知識指導解決實際問題的能力,熟練掌握鍊錶的實際應用。主要內容 題目1 josephus環問題 問題描述 約瑟夫 joseph 問題的一種描述是 編號為1,2,n的n個人按順時針方向圍坐一圈,每人持有乙個密碼...

資料結構之約瑟夫環

資料結構之約瑟夫環 c語言實現 因為最近在學習資料結構和做相關的實驗,所以想把自己的所做的分享一下 設有編號為1,2,n的n n 0 個人圍成乙個圈,每個人持有乙個密碼m。從第乙個人開始報數,報到m時停止報數,報m的人出圈,再從他的下乙個人起重新報數,報到m時停止報數,報m的出圈,如此下去,直到所有...