mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	1. Comments at the beginning of the module, before
       functions, and before classes have been turned
       into docstrings.
    2. Tabs are normalized to four spaces.
Also, removed the "remove" function from dircmp.py, which reimplements
list.remove() (it must have been very old).
		
	
			
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			567 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			567 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Bisection algorithms."""
 | 
						|
 | 
						|
 | 
						|
def insort(a, x, lo=0, hi=None):
 | 
						|
    """Insert item x in list a, and keep it sorted assuming a is sorted."""
 | 
						|
    if hi is None:
 | 
						|
        hi = len(a)
 | 
						|
    while lo < hi:
 | 
						|
        mid = (lo+hi)/2
 | 
						|
        if x < a[mid]: hi = mid
 | 
						|
        else: lo = mid+1
 | 
						|
    a.insert(lo, x)
 | 
						|
 | 
						|
 | 
						|
def bisect(a, x, lo=0, hi=None):
 | 
						|
    """Find the index where to insert item x in list a, assuming a is sorted."""
 | 
						|
    if hi is None:
 | 
						|
        hi = len(a)
 | 
						|
    while lo < hi:
 | 
						|
        mid = (lo+hi)/2
 | 
						|
        if x < a[mid]: hi = mid
 | 
						|
        else: lo = mid+1
 | 
						|
    return lo
 |