How To Insert A New Node In A Link List Like Structure? Another One
I want to insert 2.5 between 2 and 3 in this linkedist structure. class edge_model: def __init__(self): self.ymax = None self.xmin = None self.dx = None
Solution 1:
I see two errors in your code. First you go one step too far with:
if e_in.dx > p.edge_next.dx:
should be:
if e_in.dx > p.dx:
and then you update the wrong link with:
e_in.edge_next = p.edge_next
p.edge_next = e_in.edge_next
should be:
e_in.edge_next = p.edge_next
p.edge_next = e_in
Full listing:
class edge_model:
def __init__(self):
self.ymax = None
self.xmin = None
self.dx = None
self.edge_next = None
if __name__ == '__main__':
e1 = edge_model()
e2 = edge_model()
e3 = edge_model()
e_in = edge_model()
e1.dx = 1
e2.dx = 2
e3.dx = 3
e_in.dx = 2.5
e1.edge_next = e2
e2.edge_next = e3
e3.edge_next = None
p = e1
while p.edge_next:
if e_in.dx > p.edge_next.dx:
p = p.edge_next
continue
break
e_in.edge_next = p.edge_next
p.edge_next = e_in
p = e1
print(p.dx)
while p.edge_next:
p = p.edge_next
print(p.dx)
print("=====")
Results:
1
2
2.5
3
=====
Post a Comment for "How To Insert A New Node In A Link List Like Structure? Another One"