数据结构–约瑟夫(单循环链表)
约瑟夫
一、约瑟夫二、实现1.创建2.出圈3.结果展示
一、约瑟夫
就比如丢手绢问题,所有的小孩围成一个圈,每被叫到的号丢出去,直到圈中只剩一个孩子。
1、创建单循环链表(1-nums)
思路:(1)先创建一个first结点,让他永远指向第一个结点; (2)通过循环创建每个连续的结点(boy); (3)创建一个curBoy用来指向每一个添加的结点,如果结点为1,则需boy指向first,形成一个闭环;否则,则需先让curBoy指针指向下个结点(boy),再让boy指向first,形成闭环。 2、叫号出圈 思路:(1)传入三个参数:startNo(从第几个开始)、countNo(数几个人一叫)、nums(总共有多少个人); (2)只有startNo
共有 0 条评论