fork download
  1. def ins_bin(lista):
  2. """"""
  3. assert type(lista) == list
  4. for i in range(len(lista)):
  5. key = lista[i]
  6. l = 0
  7. r = i-1
  8. while l <= r:
  9. m = abs((l+r)/2)
  10. if key < lista[m]:
  11. r = m-1
  12. else:
  13. l = m+1
  14. for j in range(i, l, -1):
  15. lista[j] = lista[j-1]
  16. lista[l] = key
  17. return lista
  18.  
  19. print ins_bin([8, 3, 4, 5, 1, 2, 6, 9, 10, 7])
  20.  
Success #stdin #stdout 0.02s 9016KB
stdin
Standard input is empty
stdout
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]