mirror of
https://github.com/python/cpython.git
synced 2025-10-10 00:43:41 +00:00
Add optional arguments lo and hi to insort() and bisect(), to support
using arrays containing leading or trailing garbage.
This commit is contained in:
parent
eec6ef1aa2
commit
d5484fb75c
1 changed files with 6 additions and 4 deletions
|
@ -3,8 +3,9 @@
|
||||||
|
|
||||||
# Insert item x in list a, and keep it sorted assuming a is sorted
|
# Insert item x in list a, and keep it sorted assuming a is sorted
|
||||||
|
|
||||||
def insort(a, x):
|
def insort(a, x, lo=0, hi=None):
|
||||||
lo, hi = 0, len(a)
|
if hi is None:
|
||||||
|
hi = len(a)
|
||||||
while lo < hi:
|
while lo < hi:
|
||||||
mid = (lo+hi)/2
|
mid = (lo+hi)/2
|
||||||
if x < a[mid]: hi = mid
|
if x < a[mid]: hi = mid
|
||||||
|
@ -14,8 +15,9 @@ def insort(a, x):
|
||||||
|
|
||||||
# Find the index where to insert item x in list a, assuming a is sorted
|
# Find the index where to insert item x in list a, assuming a is sorted
|
||||||
|
|
||||||
def bisect(a, x):
|
def bisect(a, x, lo=0, hi=None):
|
||||||
lo, hi = 0, len(a)
|
if hi is None:
|
||||||
|
hi = len(a)
|
||||||
while lo < hi:
|
while lo < hi:
|
||||||
mid = (lo+hi)/2
|
mid = (lo+hi)/2
|
||||||
if x < a[mid]: hi = mid
|
if x < a[mid]: hi = mid
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue