| 
						
						
						
					 | 
				
				 | 
				
					@ -0,0 +1,14 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					def combsort(numbers_list): | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						ordered = numbers_list.copy() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						gap = len(numbers_list) # initial gap (first and last element) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						swaps = True | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						while swaps or gap!=1:  | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							swaps = False | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for i in range(len(numbers_list)-gap): | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if ordered[i] > ordered[i+gap]: # swaps without extra variable | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									ordered[i] = ordered[i+gap] - ordered[i] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									ordered[i+gap] = ordered[i+gap] - ordered[i] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									ordered[i] = ordered[i+gap] + ordered[i] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									swaps = True | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							gap = max(gap-1, 1)	# update gap, minimum gap is 1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return ordered |