約瑟夫環是乙個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下乙個人又從1開始報數,數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。求出出隊序列。
採用鍊錶實現,結點資料就是編號。
package com.dm.test;
public class test2
} //將約瑟夫環建成乙個鍊錶
public static int build(node root,int n, int m)
current.next = root;
int order = come(root,n,m);
return order;
} //出佇列
//結束條件:只有乙個結點時,這個結點的next是它自身
//將出來的數,放在乙個陣列中,遍歷陣列就是出隊序列
public static int come(node root,int n, int m)
if(i==m-1)
}order[j]=p.data;
return order; }}
class node
}
Java迴圈鍊錶實現約瑟夫環
問題描述 約瑟夫環運作如下 1 一群人圍在一起坐成 2 環狀 如 n 2 從某個編號開始報數 如 k 3 數到某個數 如 m 的時候,此人出列,下乙個人重新報數 4 一直迴圈,直到所有人出列 3 約瑟夫環結束 使用迴圈鍊錶實現約瑟夫環是一種解法,但是效率不高。public class yuesefu...
鍊錶實現約瑟夫環
約瑟夫環 約瑟夫問題 是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依 此規律重複下去,直到圓桌周圍的人全部出列。實現 include using namespace ...
使用迴圈鍊錶實現約瑟夫環
約瑟夫演算法 n個人圍成一圈,每個人都有乙個互不相同的密碼,該密碼是乙個整數值,選擇乙個作為起點,然後順時針從1到k k為起點人手中的密碼值 數數。數到k的人退出圈子,然後從下乙個開始繼續從1到j 剛退出圈子的人的密碼 數數,數到j的人退出圈子。重複上面的過程,直到剩下最後乙個人。include s...