问题:
100人围成一个圈,每人有一个编码,编码从1到100。他们开始从1开始依次报数,报到M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人小于M。输出剩下的人原先的号码,M=3时为:58,91,M=4时为34,45,97.
分析:将首位放进Vector的末尾,然后删除首位,当达到报数那一位的时候直接删除首位,不再放进末尾。queue的编程思路相同。
问题:
100人围成一个圈,每人有一个编码,编码从1到100。他们开始从1开始依次报数,报到M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人小于M。输出剩下的人原先的号码,M=3时为:58,91,M=4时为34,45,97.
分析:将首位放进Vector的末尾,然后删除首位,当达到报数那一位的时候直接删除首位,不再放进末尾。queue的编程思路相同。