all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
|
|
@ -0,0 +1,27 @@
|
|||
def merge_list(a, b):
|
||||
out = []
|
||||
while len(a) and len(b):
|
||||
if a[0] < b[0]:
|
||||
out.append(a.pop(0))
|
||||
else:
|
||||
out.append(b.pop(0))
|
||||
out += a
|
||||
out += b
|
||||
return out
|
||||
|
||||
def strand(a):
|
||||
i, s = 0, [a.pop(0)]
|
||||
while i < len(a):
|
||||
if a[i] > s[-1]:
|
||||
s.append(a.pop(i))
|
||||
else:
|
||||
i += 1
|
||||
return s
|
||||
|
||||
def strand_sort(a):
|
||||
out = strand(a)
|
||||
while len(a):
|
||||
out = merge_list(out, strand(a))
|
||||
return out
|
||||
|
||||
print strand_sort([1, 6, 3, 2, 1, 7, 5, 3])
|
||||
|
|
@ -0,0 +1 @@
|
|||
[1, 1, 2, 3, 3, 5, 6, 7]
|
||||
Loading…
Add table
Add a link
Reference in a new issue