循环链表
11 循 环 链 表
循环链表 例:猴子选大王。 n只猴子围成一圈,顺时针方向从1到n编号 之后从1号开始沿顺时针方向让猴子从1, 2,…,m依次报数,凡报到m的猴子,都让 其出圈,取消候选资格。然后不停地按顺时 针方向逐一让报出m者出圈,最后剩下一个 就是猴王
12 循环链表 例:猴子选大王。 n只猴子围成一圈,顺时针方向从1到n编号。 之后从1号开始沿顺时针方向让猴子从1, 2,…,m依次报数,凡报到m的猴子,都让 其出圈,取消候选资格。然后不停地按顺时 针方向逐一让报出m者出圈,最后剩下一个 就是猴王
演示:n=8,m=3 起始位置 8 2 3 猴王 5 猴子被淘汰的顺序361528413
13 起始位置 猴 王 1 2 3 4 5 6 7 8 猴子被淘汰的顺序 3 6 1 5 2 8 4 演示:n=8, m=3
说明: 如图1所示有8只猴子围成一圈,m=3。从1# 猴的位置开始,顺时针1至3报数,第一个出 圈的是3#;第二个出圈的是6#,第3个出圈 的是1#;第4个出圈的是5#;第5个是2#,第 6个是8#;第7个是4#。最后剩下一个是7#, 它就是猴王 我们用循环链表来模拟这个选择过程
14 说明: 如图1所示有8只猴子围成一圈,m=3。从1# 猴的位置开始,顺时针1至3报数,第一个出 圈的是3#;第二个出圈的是6#,第3个出圈 的是1#;第4个出圈的是5#;第5个是2#,第 6个是8#;第7个是4#。最后剩下一个是7#, 它就是猴王。 我们用循环链表来模拟这个选择过程