almost finished ll sequence, only sort is left
This commit is contained in:
parent
b83848116b
commit
c61dbc01a3
|
|
@ -1,2 +1,61 @@
|
|||
def ll_insert(name, phone, head):
|
||||
data = {'name' : name, 'phone' : phone, "next" : head}
|
||||
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'))
|
||||
Loading…
Reference in New Issue
Block a user