сделал явную сортировку и исправил недочеты
This commit is contained in:
parent
60b42ee51c
commit
f589771843
|
|
@ -12,45 +12,51 @@ def ll_insert(head, name, phone):
|
|||
if current['name'] == name:
|
||||
current['phone'] = phone
|
||||
return head
|
||||
if current['next'] is None:
|
||||
break
|
||||
current = current['next']
|
||||
|
||||
|
||||
new_node['next'] = head
|
||||
return new_node
|
||||
current['next'] = new_node
|
||||
return head
|
||||
|
||||
def ll_find(head, name):
|
||||
current = head
|
||||
while current is not None:
|
||||
if current['name']==name:
|
||||
if current['name'] == name:
|
||||
return current['phone']
|
||||
current=current['next']
|
||||
return None
|
||||
current = current['next']
|
||||
return None
|
||||
|
||||
|
||||
def ll_delete(head, name):
|
||||
if head is None:
|
||||
return None
|
||||
if head['name']==name:
|
||||
if head['name'] == name:
|
||||
return head['next']
|
||||
|
||||
current = head
|
||||
while current['next'] is not None:
|
||||
if current['next']['name'] == name:
|
||||
current['next']==current['next']['next']
|
||||
current['next'] = current['next']['next']
|
||||
return head
|
||||
current = current['next']
|
||||
return head
|
||||
|
||||
|
||||
def sort_records(lst):
|
||||
n = len(lst)
|
||||
for i in range(n):
|
||||
for j in range(0, n-i-1):
|
||||
if lst[j][0] > lst[j + 1][0]:
|
||||
lst[j], lst[j + 1] = lst[j + 1], lst[j]
|
||||
return lst
|
||||
|
||||
|
||||
def ll_list_all(head):
|
||||
record=[]
|
||||
current=head
|
||||
record = []
|
||||
current = head
|
||||
while current is not None:
|
||||
record.append(current['name'], current['phone'])
|
||||
current=current['next']
|
||||
record.sort(key=lambda x: x[0])
|
||||
return record
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
record += [(current['name'], current['phone'])]
|
||||
current = current['next']
|
||||
res = sort_records(record)
|
||||
return res
|
||||
Loading…
Reference in New Issue
Block a user