import random
ArrayNodes = [[-1,-1,-1] for i in range(20)]
for i in range(19):
ArrayNodes[i][0]=i+1
print(ArrayNodes)
#you should link all the nodes that are in the free list
RootPointer = -1
FreeNode = 0
#you should use the global variables rootpointer and freeNode, along with arrayNodes
#usualy, when making an AddNode function, the parameter should be the element that you want to add.
def AddNode(NodeData):
global RootPointer, FreeNode,ArrayNodes
if FreeNode <= 19:
ArrayNodes[FreeNode][0] = -1
ArrayNodes[FreeNode][1] = NodeData
ArrayNodes[FreeNode][2] = -1
if RootPointer == -1:
RootPointer = 0
FreeNode = 1
print(ArrayNodes, flush=True)
else:
Placed = False
CurrentNode = RootPointer
print(CurrentNode,flush=True)
while Placed == False:
if NodeData < ArrayNodes[CurrentNode][1]:
if ArrayNodes[CurrentNode][0] == -1:
ArrayNodes[CurrentNode][0] = FreeNode
Placed = True
else:
CurrentNode = ArrayNodes[CurrentNode][0]
elif ArrayNodes[CurrentNode][2] == -1:
ArrayNodes[CurrentNode][2] = FreeNode
Placed = True
else:
CurrentNode = ArrayNodes[CurrentNode][2]
FreeNode = FreeNode + 1
else:
print("Tree is full")
def PrintAll(ArrayNodes):
for i in range(5):
print(ArrayNodes[i][0], ArrayNodes[i][1], ArrayNodes[i][2])
AddNode(90)
AddNode(80)
AddNode(172)
AddNode(34)
AddNode(10)
print(RootPointer)
PrintAll(ArrayNodes)
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}