java環形連結串列約瑟夫環問題筆記
約瑟夫環問題
設編號1,2,3…n的n個人圍坐一圈,從編號為k的人從1開始報數,數到m的人出列。他的下一位繼續從1開始報數,數到m的人出列,以此類推,直到所有人出列位置,由此產生一個出隊編號的序列。
使用不帶頭結點的迴圈連結串列處理該問題、
package f1;
public class g1{
public static void main (String []args) {
// n=5 五個人 k=1從第一個人開始報數 m=2數兩下
CircleSingleLinkedList List = new CircleSingleLinkedList();
List.addnode(8);
List.ysf(1, 2);
}
}
class CircleSingleLinkedList{
private node first =new node(-1); //頭結點
public void addnode(int num) {
//建立num個節點的環形連結串列
node temp,curnode=first;
for(int i=0; i<num;i ++) {
temp = new node(i+1);
curnode.next = temp;
temp.next = first;
curnode = temp;
}
}
public void showlist() {
node temp = first ;
while(true) {
if(temp.next == first) break;
temp = temp.next ;
System.out.println(temp.No);
}
}
public void ysf(int k,int m) {
node temp = first,helper=null;
int u=m;
while(k-- > 0) {
helper = temp;
temp = temp.next;
}
while(true) {
if(temp == helper){
//System.out.println(temp.No);
break;
}
while(m-- > 0) {
helper = temp;
temp = temp.next;
if(temp == first) {
helper = temp;
temp = temp.next;
}
}
m=u;
if(temp.No != -1)
System.out.println(temp.No);
helper.next = temp.next;
}
}
}
//建立第一個節點,讓first指向該節點
//沒建立新的節點就把該節點加入到已有的環形連結串列中
class node{
public int No;
public node next;
public node(int no) {
this.No = no;
}
}
相關文章
- 牛客題霸NC132環形連結串列的約瑟夫問題Java題解Java
- 約瑟夫環(Josephus)問題--報數遊戲(連結串列)遊戲
- 約瑟夫環問題
- 約瑟夫環(約瑟夫問題)求最後出列的人數
- UVALive 3882--And Then There Was One+約瑟夫環問題變形
- 迴圈連結串列(約瑟夫問題)--python實現Python
- 約瑟夫環問題 猴子選大王問題
- 約瑟夫環遊戲遊戲
- 約瑟夫問題
- 環形連結串列
- zcmu1862——zbj的狼人殺(約瑟夫環問題)
- 約瑟夫環(陣列實現)陣列
- 約瑟夫環(vector類解決)
- JS資料結構第三篇---雙向連結串列和迴圈連結串列之約瑟夫問題JS資料結構
- 環形連結串列II
- 【圖解連結串列類面試題】環形連結串列圖解面試題
- 約瑟夫環(線性列表的思想)
- 環形連結串列_相交連結串列_多數元素(java語言)Java
- 142. 環形連結串列
- 141. 環形連結串列
- 力扣學習筆記:142. 環形連結串列 II力扣筆記
- 每日演算法隨筆:環形連結串列演算法
- 約瑟夫問題(丟手絹問題)
- 猴子選大王,約瑟夫問題
- 約瑟夫環(超好的程式碼存檔)--19--約瑟夫環--LeetCode面試題62(圓圈最後剩下的數字)LeetCode面試題
- 用Python實現約瑟夫環演算法Python演算法
- 約瑟夫生者死者遊戲問題遊戲
- 資料結構與演算法——連結串列 Linked List(單連結串列、雙向連結串列、單向環形連結串列-Josephu 問題)資料結構演算法
- Leetcode-142. 環形連結串列 IILeetCode
- 判斷是否為環形連結串列
- LeetCode-142-環形連結串列 IILeetCode
- 2024/12/2【連結串列】LeetCode 142 環形連結串列 II 【X】LeetCode
- 單連結串列有環的幾個問題
- 演算法141. 環形連結串列演算法
- Python實現環形連結串列詳解Python
- 每日leetcode——142. 環形連結串列 IILeetCode
- Q22 LeetCode142 環形連結串列LeetCode
- 【圖解經典演算法題】如何用一行程式碼解決約瑟夫環問題圖解演算法行程