大家自行百度下約瑟夫問(wèn)題腕柜,這里用golang+單向循環(huán)鏈表的方式解決約瑟夫問(wèn)題毯焕,下面先提供一下代碼:
func (h *people)joseph(nint) {
????????p :=h
? ???? q := p.next
????????i :=0
? ???? for {
????????????if p != q {
????????????????i++
????????????????if i == n-1 {
? ? ? ? ? ? ? ? ? ?// fmt.Println(q.name, ":", q.age)
????????????????????p.next = q.next
????????????????????p = p.next
????????????????????q = p.next
????????????????????i =0
? ? ? ? ? ? ????????continue
? ? ? ????????? }
????????????????p = q
????????????????q = q.next
? ? ? ? ?????}else {
????????????????????fmt.Println("last:", p.name, p.age)
????????????????????return
? ????? ? }
????}
}