[3] adding ll_delete()
This commit is contained in:
parent
ace43f35b0
commit
95d00a8942
|
|
@ -19,17 +19,37 @@ def ll_insert(head, name, phone):
|
||||||
|
|
||||||
def ll_find(head, name):
|
def ll_find(head, name):
|
||||||
running = head
|
running = head
|
||||||
flag = True
|
|
||||||
|
|
||||||
while flag:
|
while True:
|
||||||
if running['name'] == name:
|
if running['name'] == name:
|
||||||
return running['phone']
|
return running['phone']
|
||||||
running = running['next']
|
running = running['next']
|
||||||
flag = running is not None
|
if running is None: break
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def ll_delete(head, name):
|
||||||
|
running = head
|
||||||
|
|
||||||
|
if running['name'] == name:
|
||||||
|
return head['next']
|
||||||
|
|
||||||
|
while running['next']['name'] != name:
|
||||||
|
running = running['next']
|
||||||
|
if running['next']['next'] is None:
|
||||||
|
if running['next']['name'] != name:
|
||||||
|
return head
|
||||||
|
if running['next']['next'] is None:
|
||||||
|
running['next'] = None
|
||||||
|
else: running['next'] = running['next']['next']
|
||||||
|
|
||||||
|
return head
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
|
@ -56,6 +76,15 @@ def main():
|
||||||
print(name, ":", ll_find(head, name))
|
print(name, ":", ll_find(head, name))
|
||||||
print("======== END TESTING =============")
|
print("======== END TESTING =============")
|
||||||
|
|
||||||
|
print('========== TESTING LL_DELETE ==========')
|
||||||
|
|
||||||
|
for _ in range(2):
|
||||||
|
name = Name[rnd.randint(0, 4)]
|
||||||
|
head = ll_delete(head, name)
|
||||||
|
|
||||||
|
print(head)
|
||||||
|
print(name, ":", ll_find(head, name))
|
||||||
|
print("========= END TESTING ==============")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user