# -*- coding: utf-8 -*
class Node():
def __init__(self, data = None, next = None):
self.data = data
self.next = next
def __str__(self):
return str(self.data)
def joseph():
m = int(raw_input('input the total amount: '))
n = int(raw_input('input the random number: '))
head = Node(1, None)
cur_node = head
for i in range(2, m+1):
new_node = Node(i, None)
cur_node.next = new_node
cur_node = new_node
cur_node.next = head
cur_node = head
cur_size = m
pre_node = None
while cur_size > 1:
for i in range(0, n-1): ##注意:间隔n个,所以循环n-1次
pre_node = cur_node
cur_node = cur_node.next
print cur_node,'was deleted'
pre_node.next = cur_node.next
cur_node = cur_node.next
cur_size -= 1
print '\nthe new monkey king is:', pre_node.next
joseph()
jeseph问题,python实现, 循环链表
最新推荐文章于 2023-02-13 20:48:15 发布