2026-rff_mp/lukovnikovde/docs/data/DataStructure.py

66 lines
1.6 KiB
Python
Raw Normal View History

import random as rnd
#############################################################################################
def ll_insert(head, name, phone):
next_node = {'name': name, 'phone': phone, 'next': None}
if head is None: return next_node
running = head
while running is not None:
if running['name'] == name:
running['phone'] = phone
return head
running = running['next']
running = head
while running['next'] is not None: running = running['next']
running['next'] = next_node
return head
2026-04-22 14:04:25 +00:00
def ll_find(head, name):
running = head
flag = True
while flag:
if running['name'] == name:
return running['phone']
running = running['next']
flag = running is not None
return None
def main():
head = None
print('======== TESTING LL_INSERT ==========')
Name = ['Dima', 'Ivan', 'Maxim', 'Alex']
for _ in range(10):
name = Name[rnd.randint(0, 3)]
phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \
str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9))
print(name, phone)
head = ll_insert(head, name, phone)
print(head)
print('-----------------------------------\n')
print('======== END TESTING ================')
print('======== TESTING LL_FIND ==========')
Name.append('Masha')
for i in range(len(Name)):
name = Name[i]
print(name, ":", ll_find(head, name))
print("======== END TESTING =============")
if __name__ == "__main__":
main()