約瑟夫環 jusephus

2021-10-25 05:35:43 字數 1571 閱讀 2507

約瑟夫環(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...