一方向チェーンテーブルの後ろ-pythonコード
6782 ワード
自分で半日考えてやっと分かったので、記録して、いつでも振り返ります.
ノードクラスを定義するには
ノードを定義してチェーンテーブルを定義します.
最初のノードを入力してチェーンテーブル全体をループし、チェーンテーブル全体を順番に印刷します.
再帰的な方法で印刷するには、次のようにします.listを2つの部分に分割し、head:最初の要素、tail:残りの要素2.後ろに印刷3.最初の要素を印刷
より簡単な逆出力方法:
黒板をたたく:
printBackward(1)からprintBackward(2)にジャンプし、printBackward(3)にジャンプしてprintBackward(None)に入ります.printBackward(None)を実行し、return後にprintBackward(3)に戻ってもまだ終わっていないので、最後の行のprint(head,tail)を実行し続けます.printBackward(3)が終了すると、printBackward(2)に戻り、printBackward(1)に戻り、関数の実行を終了します.
原文リンクはこちらです.
参照先:https://blog.csdn.net/qq_39422642/article/details/78988976#:~:text=python%EF%BC%9A%E9%93%BE%E8%A1%A8%E5%AE%9A%E4%B9%89%E4%BB%A5%E5%8F%8A%E5%AE%9E%E7%8E%B0,%E4%B8%8B%E4%B8%80%E4%B8%AA%E8%8A%82%E7%82%B9%E7%9A%84%E9%93%BE%E6%8E%A5.
ノードクラスを定義するには
class Node():
def __init__(self, cargo=None, next=None):
self.cargo = cargo
self.next = next
def __str__(self):
# ,
return str(self.cargo)
ノードを定義してチェーンテーブルを定義します.
node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
#
node1.next = node2
node2.next = node3
最初のノードを入力してチェーンテーブル全体をループし、チェーンテーブル全体を順番に印刷します.
def printList(node):
while node:
print node
node = node.next
printList(node1)
1
2
3
再帰的な方法で印刷するには、次のようにします.listを2つの部分に分割し、head:最初の要素、tail:残りの要素2.後ろに印刷3.最初の要素を印刷
'''
printBackward(1) printBackward(2), printBackward(3), printBackward(None).
printBackward(None),return printBackward(3) print (head, tail).
printBackward(3) , printBackward(2), printBackward(1), .
'''
def printBackward(lists):
if lists == None:
return '''return , '''
head = lists
tail = lists.next
print(head, tail)
printBackward(tail) ''' '''
print(head, tail)
printBackward(node1)
1 2
2 3
3 None
3 None
2 3
1 2
より簡単な逆出力方法:
def printBackward(lists):
if lists == None:return
printBackward(lists.next)
print lists
printBackward(node1)
3
2
1
黒板をたたく:
printBackward(1)からprintBackward(2)にジャンプし、printBackward(3)にジャンプしてprintBackward(None)に入ります.printBackward(None)を実行し、return後にprintBackward(3)に戻ってもまだ終わっていないので、最後の行のprint(head,tail)を実行し続けます.printBackward(3)が終了すると、printBackward(2)に戻り、printBackward(1)に戻り、関数の実行を終了します.
原文リンクはこちらです.
参照先:https://blog.csdn.net/qq_39422642/article/details/78988976#:~:text=python%EF%BC%9A%E9%93%BE%E8%A1%A8%E5%AE%9A%E4%B9%89%E4%BB%A5%E5%8F%8A%E5%AE%9E%E7%8E%B0,%E4%B8%8B%E4%B8%80%E4%B8%AA%E8%8A%82%E7%82%B9%E7%9A%84%E9%93%BE%E6%8E%A5.