約瑟夫環公升級版

2021-10-01 14:47:57 字數 1081 閱讀 9202

題目

問題分析

和約瑟夫問題不同的是,公升級版多了乙個密碼,這個密碼可以從線性表匯入,也就是在建立結點時,有三個區域密碼域password、資料域位置position、指標域next。如下圖所示

**實現

import ds01.動態陣列.arraylist;

//約瑟夫環公升級版

public

class

upper_josephusloop

size=list.

getsize()

;//人數是list傳進來的個數

this

.m=m;

}//遊戲淘汰函式

public

void

out(

) node del=p.next;

//del存放要刪除的結點

p.next=del.next;

//p所在結點的指標域指向del的下乙個結點(刪除del,沒人指向del,del被**)

p=p.next;

//更新指標p

m=del.password;

//根據題意,m更新

system.out.

print

(del.position+

" ")

;//返回刪除了的結點的位置

size--

;//有效元素個數-1}}

//內部類

private

class

node

public

node

(int password,

int position,node next)

}public

static

void

main

(string[

] args)

}

約瑟夫問題公升級版

編號為1 n的n個人按順時針方向圍坐一圈,每人持有乙個密碼 正整數,可以自由輸入 開始人選乙個正整數作為報數上限值m,從第乙個人按順時針方向自1開始順序報數,報道m時停止報數。報m的人出列,將他的密碼作為新的m值,從他順時針方向上的下乙個人開始從1報數,如此下去,直至所有人全部出列為止。includ...

約瑟夫問題的公升級版

最近寫的乙個約瑟夫問題 建立迴圈單鏈表 p next pre 最後乙個節點指向第乙個結點,形成迴圈鍊錶 return pre void dele linklist l,int m temp p num 當這個人出去時,將他的值作為新密碼 printf 5d p num count s p 鍊錶的刪除...

介面公升級版

介面公升級版 假設乙個介面由2w個子類實現它 假如在介面內加乙個方法 那麼按照定義就要在這所有的子類裡面都實現 所以我們引入新概念 介面裡可以定義普通方法 即這個普通方法可以不被實現 普通方法就要用default實現 介面還可以實現static方法 呼叫是直接由介面.方法名呼叫 inte ce im...