約瑟夫環(jusephus)
本題要求實現2個函式,建立乙個不帶頭結點的單迴圈鍊錶,以及約瑟夫環的出列函式
函式介面定義:
void
initcircle
(list& l,
int n);
//建立乙個不帶頭結點的單迴圈鍊錶, l為鍊錶,n為結點個數
//結點的data為1~n的自然數
void
out(list l,
int n,
int m, sqlist& result)
;//出列:l為約瑟夫環,n為環長度,m:從當前結點開始計數,第m個出
//result: 出列的資料依次放入乙個順序表
裁判測試程式樣例:
//測試程式如下:其中已經有順序表的初始化,插入,輸出函式
#include
#define maxsize 100
#define ok 0
#define error 1
using
namespace std;
typedef
int elementtype;
typedef
int position;
typedef
int status;
typedef
struct
sqlist;
//順序表
status seqlistinit
(sqlist &l)
//在第i個位置插入:i=1~len+1
status seqlistinsert
(sqlist &l,
int i, elementtype e)
l.elem[i -1]
= e;
++l.length;
return ok;
}void
printout
(sqlist& sq)
}struct lnode
;typedef lnode* list;
void
initcircle
(list& l,
int n)
;void
out(list l,
int n,
int m,sqlist& result)
;int
main()
/* 請在這裡填寫答案 */
輸入樣例:
在這裡給出一組輸入。例如:
8 3輸出樣例:
在這裡給出相應的輸出。例如:
3 6 1 5 2 8 4 7
℡﹎弦月ゞ
void
initcircle
(list& l,
int n)
else
current-
>next = l;}}
void
out(list l,
int n,
int m,sqlist &result)
else
}}
約瑟夫問題 約瑟夫環
約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...
約瑟夫問題 約瑟夫環
約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...
Josephu 約瑟夫 約瑟夫環 問題
version 2019年08月08日 public class josepfu 建立乙個環形的單向鍊錶 class circlesinglelinkedlist 輔助指標,幫助構建環形鍊錶 boy curboy null for int i 1 i nums i else 遍歷當前的環形鍊錶 pu...