def partation(ll, K): """ Kの大きさで分割して並び替えたものを返す。 """ n = ll left, right = Node(), Node() while True: if n.data < K: left.appendToTail(n.data) else: right.appendToTail(n.data) if n.next == None: break n = n.next # これだと宣言の関係上一番始めがNoneになっているのでとりのぞいてから連結する right = right.get_Nth_node(1) left = left.get_Nth_node(1) left.appendNodeToTail(right) return left
def remove_this_node(node): n = node while n.next != None: n.data = n.next.data # 終端処理、最後のノードを一個消す。 if n.next.next == None: n.next = None else: # 終端じゃない場合は次のノードの処理に n = n.next if __name__ == "__main__": ls = Node(1) ls.appendToTail(2) ls.appendToTail(3) ls.appendToTail(4) ls.appendToTail(5) ls.appendToTail(6) ls.appendToTail(7) ls.appendToTail(8) ls.appendToTail(9) ls.appendToTail(10) ls.printls() delnode = ls.get_Nth_node(5) remove_this_node(delnode) ls.printls()