mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			14 lines
		
	
	
		
			373 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			373 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
partition([], _, [], []).
 | 
						|
partition([X|Xs], Pivot, Smalls, Bigs) :-
 | 
						|
    (   X @< Pivot ->
 | 
						|
        Smalls = [X|Rest],
 | 
						|
        partition(Xs, Pivot, Rest, Bigs)
 | 
						|
    ;   Bigs = [X|Rest],
 | 
						|
        partition(Xs, Pivot, Smalls, Rest)
 | 
						|
    ).
 | 
						|
 | 
						|
quicksort([])     --> [].
 | 
						|
quicksort([X|Xs]) -->
 | 
						|
    { partition(Xs, X, Smaller, Bigger) },
 | 
						|
    quicksort(Smaller), [X], quicksort(Bigger).
 |