1
intにリストを再帰的に追加し、後で追加機能を追加する必要があります。ソート済みリストに整数を再帰的に追加する - 再帰的に
def insert_in_list(x, tree):
if not tree:
return tree
elif isinstance(tree[0], list):
return inserting(x, tree[0]) + inserting(x, tree[1:])
elif x < tree[0]:
tree.insert(0, x)
return tree
else:
return inserting(x, tree[1:])
私はinsert()
を使用しています。しかし何らかの理由で私のリストは3つの値に制限されているようです。たとえば
>>> insert_in_list(2, [1,5,10])
[2,5,10]
1
には何が起こったでしょうか?
、私たちはユニで二分木で作業している。これは間違ったアプローチかもしれないと思います。関数は任意の数値をリストに入れることができるはずですが、必要に応じて "リーフ"が内部ノードに変わった場合は空のリストを作成します。例えば: >>> our_tree =インサート(5、[]) 5 >>> our_tree =インサート(10、our_tree) [[5、10] >>> our_tree =インサート( >>> our_tree = insert(1、our_tree) [1]、[5、[7、10、[]] –
@AntonHansson私は、あなたが "木"と "内部ノード"を意味するかどうかわかりません。私が作ろうとしていたことは、あなたのケースで破壊的な操作を避けるべきだということです。 「インデックス」は単なる選択肢でした。しかし、フォローアップの質問がある場合は、単に新しい質問をすることができます。 :) – MSeifert