Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. def insert(seq, val):
  2. seq = iter(seq)
  3. try:
  4. next_val = next(seq)
  5. except StopIteration:
  6. next_val = None
  7. # print(next_val, val)
  8. if next_val:
  9. if next_val > val:
  10. yield val
  11. yield next_val
  12. yield from seq
  13. else:
  14. yield next_val
  15. yield from insert(seq, val)
  16. else:
  17. yield val
  18.  
  19.  
  20. def sort(seq, result=iter([])):
  21. seq = iter(seq)
  22. try:
  23. next_val = next(seq)
  24. except StopIteration:
  25. next_val = None
  26. yield from result
  27. result = insert(result, next_val)
  28. yield from sort(seq, result)
  29.  
  30.  
  31. a = [1, 2, 3, 5, 6]
  32. val = 4
  33. t = insert(a, val)
  34.  
  35. test = [1, 5, 3, 4, 2, 6, 9, 8, 7]
  36. res = sort(test)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement