17 lines
		
	
	
		
			426 B
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			17 lines
		
	
	
		
			426 B
		
	
	
	
		
			Factor
		
	
	
|  | USING: locals sequences kernel math ;
 | ||
|  | IN: sorting.insertion | ||
|  | 
 | ||
|  | <PRIVATE
 | ||
|  | :: insert ( seq quot: ( elt -- elt' ) n -- )
 | ||
|  |     n zero? [ | ||
|  |         n n 1- [ seq nth quot call ] bi@ >= [ | ||
|  |             n n 1- seq exchange
 | ||
|  |             seq quot n 1- insert | ||
|  |         ] unless
 | ||
|  |     ] unless ; inline recursive
 | ||
|  | PRIVATE>
 | ||
|  | 
 | ||
|  | : insertion-sort ( seq quot -- )
 | ||
|  |     ! quot is a transformation on elements | ||
|  |     over length [ insert ] with with each ; inline
 |