61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
import random
|
|
N = []
|
|
|
|
for n in range(10000):
|
|
i = random.randint(1,99999)
|
|
p = random.randint(10000000, 99999999)
|
|
N.append((f"User_{i:05d}", str(p)))
|
|
|
|
def ll_insert(head, name, phone):
|
|
data = {'name' : name, 'phone' : phone, "next" : None}
|
|
|
|
if head is None:
|
|
return data
|
|
|
|
current = head
|
|
while current:
|
|
if current['name'] == name:
|
|
current['phone'] = phone
|
|
return head
|
|
if current['next'] == None:
|
|
last = current
|
|
current = current['next']
|
|
|
|
last['next'] = data
|
|
return head
|
|
|
|
|
|
def ll_find(head, name):
|
|
current = head
|
|
while current:
|
|
if current['name'] == name:
|
|
return current['phone']
|
|
current = current['next']
|
|
return None
|
|
|
|
def ll_delete(head, name):
|
|
if head is None:
|
|
return None
|
|
|
|
prev = head
|
|
current = head['next']
|
|
while current:
|
|
if current['name'] == name:
|
|
prev['next'] = current['next']
|
|
return head
|
|
prev = current
|
|
current = current['next']
|
|
return head
|
|
|
|
def ll_list_all(head):
|
|
return None
|
|
|
|
test_data = None
|
|
for name, phone in N:
|
|
test_data = ll_insert(test_data, name, phone)
|
|
|
|
test_data = ll_insert(test_data, 'User_02000', '99999999')
|
|
test_data = ll_insert(test_data, 'User_01000', '99999998')
|
|
print(ll_find(test_data, 'User_02000'))
|
|
ll_delete(test_data, 'User_02000')
|
|
print(ll_find(test_data, 'User_02000')) |