约瑟夫问题

GoSnail · · 1400 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

大家自行百度下约瑟夫问题,这里用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

          }

    }

}


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:GoSnail

查看原文:约瑟夫问题

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1400 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传