约瑟夫问题

2020-10-20  本文已影响0人  GoSnail

大家自行百度下约瑟夫问题,这里用golang+单向循环链表的方式解决约瑟夫问题,下面先提供一下代码:

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

          }

    }

}

上一篇下一篇

猜你喜欢

热点阅读