迴圈連結串列(約瑟夫問題)--python實現
class Node:
def __init__(self, value=None, next_addr=None):
self._value = value
self._next_addr = next_addr
@property
def next_addr(self):
return self._next_addr
@next_addr.setter
def next_addr(self, addr):
self._next_addr = addr
@property
def value(self):
return self._value
@value.setter
def value(self, value):
self._value = value
# 迴圈實現
# def check(first):
# temp = first
# i = 1
# while temp != temp.next_addr.next_addr:
# if i%2 == 0:
# temp.next_addr = temp.next_addr.next_addr
# temp = temp.next_addr
# i += 1
# else:
# temp = temp.next_addr
# i += 1
#
# return temp.value, temp.next_addr.value
# 遞迴實現
def check(first):
temp = first
return s(temp, 1)
def s(node, count):
temp = node
if temp == temp.next_addr.next_addr:
return temp.value, temp.next_addr.value
if count % 2 == 0:
print(temp.next_addr.value) # 刪除的值
temp.next_addr = temp.next_addr.next_addr
temp = temp.next_addr
return s(temp, count+1)
else:
temp = temp.next_addr
return s(temp, count+1)
if __name__ == '__main__':
j = Node(1)
item = j
for i in range(2, 42):
item.next_addr = Node(i)
item = item.next_addr
item.next_addr = j
print(check(j))
相關文章
- javascript中使用迴圈連結串列實現約瑟夫環問題JavaScript
- 實戰資料結構(4)_迴圈單連結串列解決約瑟夫問題資料結構
- JS資料結構第三篇---雙向連結串列和迴圈連結串列之約瑟夫問題JS資料結構
- 連結串列面試題(八)---約瑟夫環面試題
- 約瑟夫環(Josephus)問題--報數遊戲(連結串列)遊戲
- java環形連結串列約瑟夫環問題筆記Java筆記
- 約瑟夫環 佇列+連結串列佇列
- 3.2資料結構之指標和連結串列 1748:約瑟夫問題資料結構指標
- 面試題—Java遞迴實現約瑟夫環面試題Java遞迴
- 連結串列-迴圈連結串列
- 單向迴圈連結串列的實現
- 連結串列4: 迴圈連結串列
- 牛客題霸NC132環形連結串列的約瑟夫問題Java題解Java
- 教你如何運用python/golang實現迴圈連結串列PythonGolang
- 【資料結構】實現迴圈連結串列(c++)資料結構C++
- 約瑟夫問題pascal程式
- 約瑟夫環問題——初步瞭解+陣列實現陣列
- 單向迴圈連結串列
- 約瑟夫生者死者遊戲問題遊戲
- 單鏈迴圈連結串列(初版
- 複習下C 連結串列操作(雙向迴圈連結串列,查詢迴圈節點)
- 約瑟夫環(陣列實現)陣列
- 用Python實現約瑟夫環演算法Python演算法
- 雙向迴圈連結串列基本操作的實現(C語言)C語言
- 約瑟夫(Josephus problem)環問題初探
- 資料結構之迴圈連結串列資料結構
- 單向迴圈連結串列大綱
- C 語言使用非迴圈雙向連結串列實現佇列佇列
- Josephus問題解決方法三(單向迴圈連結串列標識法)
- IOS 約瑟夫環遊戲的實現iOS遊戲
- P1996 約瑟夫問題996
- 陣列解決約瑟夫環問題陣列
- (連結串列)連結串列的排序問題排序
- 【LeetCode】 Rotate List 迴圈連結串列LeetCode
- 單向迴圈連結串列的介面程式
- Python實現單連結串列Python
- 連結串列-單連結串列實現
- 【資料結構】雙迴圈連結串列(c++)資料結構C++