Josephu 約瑟夫 約瑟夫環 問題

2021-09-26 07:33:22 字數 1615 閱讀 9332

* @version 2023年08月08日

*/public class josepfu

}// 建立乙個環形的單向鍊錶

class circlesinglelinkedlist

//輔助指標,幫助構建環形鍊錶

boy curboy = null;

for (int i = 1; i <= nums; i++) else }}

// 遍歷當前的環形鍊錶

public void showboy()

// 因為first不能動,因此我們仍然使用乙個輔助指標完成遍歷

boy curboy = first;

while (true)

curboy = curboy.getnext(); // curboy後移}}

// 根據使用者的輸入,計算出小孩出圈的順序

/*** @param startno 表示從第幾個小孩開始數數

* @param countnum 表示數幾下

* @param nums 表示最初有多少小孩在圈中

*/public void countboy(int startno, int countnum, int nums)

// 需求建立乙個輔助指標(變數) helper , 事先應該指向環形鍊錶的最後這個節點

boy helper =first;

while (true)

helper=helper.getnext();

}//小孩報數前,先讓 first 和 helper 移動 k - 1次

for(int j = 0; j < startno - 1; j++)

while (true)

for(int j = 0; j < countnum-1; j++)

//這時first指向的節點,就是要出圈的小孩節點

system.out.printf("boy %d out \n",first.getno());

first=first.getnext();

helper.setnext(first);}}

}// 建立乙個boy類,表示乙個節點

約瑟夫 環 問題 Josephu 單向環形鍊錶

建立人 wdl 建立時間 2021 3 19 描述 public class josepfu 建立乙個環形的單向鍊錶 class circlesinglelinkedlist boy curboy null 輔助指標,幫助我們構建環形鍊錶 使用for來建立我們的環形鍊錶 for int i 1 i ...

約瑟夫問題 約瑟夫環

約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...

約瑟夫問題 約瑟夫環

約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...