class BitNode:
def __init__(self):
self.data=None
self.lchild=None
self.rchild=None
def arrtotree(self,arr,start,end):
root=None
if end>=start:
root=BitNode()
mid=(start+end+1)//2
root.data=arr[mid]
root.lchild=BitNode().arrtotree(arr,start,mid-1)
root.rchild=BitNode().arrtotree(arr,mid+1,end)
else:
root=None
return root
def printMidOrder(self,root):
if root==None:
return
if root.lchild!=None:
BitNode().printMidOrder(root.lchild)
print(root.data)
if root.rchild!=None:
BitNode().printMidOrder(root.rchild)
if __name__=='__main__':
arr=[1,2,3,4,5,6,7,8,9,10]
root=BitNode().arrtotree(arr,0,(len(arr)-1))
BitNode().printMidOrder(root)