第一種:構建迴圈鍊錶,然後不斷遍歷鍊錶直到剩下最後乙個元素。
#include
#include
#include
#include
#include
#include
using namespace std;
typedef struct list
list,*link;
int main()
p -> next = head -> next;
p = head -> next;
free(head);
while(p -> next != p) i < m - 1 是因為第一次迴圈 p 位於 第乙個節點 與第m個節點中間隔有m-2個節點 所以執行m-2次迴圈
p -> next = p -> next -> next;
p = p -> next;
}printf("%d\n",p -> data);
return 0;
第二種:
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
if(q == 1) break;
}for(i = 0;i < n;i++)
return 0;
java解決約瑟夫環的兩種方法
選擇不同的資料結構,對於解決問題使用的演算法也會存在很大的不同,舉例分別使用組數和佇列來解決約瑟夫環問題。陣列解決約瑟夫環問題 param personnumber 人數 param number 數的數 public static void count int personnumber,int n...
兩種方法解決排列問題
time limit 1.000 sec memory limit 128 mb problem description 有4個互不相同的數字,請按序輸出由其中三個不重複數字組成的排列。input 4個整數。output 所有排列,輸出順序見樣例。sample input 1 2 3 4 out i...
兩種方法求解 約瑟夫環
題目描述 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為0的人開始報數,數到2的那個人出列 他的下乙個人又從0開始報數,數到2的那個人又出列 依此規律重複下去,直到圓桌周圍的人全部出列。解法一 基於陣列實現 public void solution int totalnum,...