#@设计一个python程序,按输入一个二叉树的数据,分别是5、6、24、8、12、3、17、1、9利用链表来简历二叉树,最后是进行终须遍历,大家会发现可以轻松完成从小到大的排序
class tree:
def __init__(self):
self.data=0
self.left=None
self.right=None
def create_tree(root,val):
newnode=tree()
newnode.data=val
if root==None:
root=newnode
return root
else:
current=root
while current!=None:
backup=current
if current.data>val:
current=current.left
else:
current=current.right
if backup.data>val:
backup.left=newnode
else:
backup.right=newnode
return root
def minorder(ptr):
if ptr!=None:
minorder(ptr.left)
print("排序结果为:",ptr.data)
minorder(ptr.right)
data=[5,6,24,8,12,3,17,1,9]
ptr=None
for i in range(len(data)):
ptr=create_tree(ptr,data[i])
minorder(ptr)
参考图解数据结构书