Untitled

 avatar
unknown
plain_text
2 years ago
798 B
5
Indexable
class Node():
    def __init__(self, i, parent):
        self.id = i
        self.parent = parent
        self.children = []
    def print(self):
        print('Node:' + str(self.id) + ', Parent:' + str(self.parent.id))
        for child in self.children:
            child.print()


def main():
#    levels = [1, 2, 3, 3, 2, 3, 1]
    levels = [1, 2, 2, 1, 2, 3, 3, 2, 2, 2, 3, 3, 2, 1]
    root_parent = Node('root_parent', None)
    root = Node('root', root_parent)
    levels_to_parent = {1:root}

    for i in range(len(levels)):
        n = Node(i, levels_to_parent[levels[i]])
        n.parent.children.append(n)
        if i+1 < len(levels):
            if levels[i+1] > levels[i]:
                levels_to_parent[levels[i+1]] = n 

    root.print()

if __name__ == '__main__':
    main()
Editor is loading...