From 95d00a8942fae4b71fd2fa27061850ec7182e0c4 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 22 Apr 2026 16:50:01 +0000 Subject: [PATCH] [3] adding ll_delete() --- lukovnikovde/docs/data/DataStructure.py | 35 ++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 7f9e38a..43a99da 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -19,17 +19,37 @@ def ll_insert(head, name, phone): def ll_find(head, name): running = head - flag = True - while flag: + while True: if running['name'] == name: return running['phone'] running = running['next'] - flag = running is not None + if running is None: break 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(): @@ -56,6 +76,15 @@ def main(): print(name, ":", ll_find(head, name)) 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__": main()