Commit 69d03c18 authored by Guido van Rossum's avatar Guido van Rossum

Add optional arguments lo and hi to insort() and bisect(), to support

using arrays containing leading or trailing garbage.
parent 12a06e89
...@@ -3,8 +3,9 @@ ...@@ -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): ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment