Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let partition pivot l =
- let rec loop l l1 l2 =
- match l with
- | [ ] -> l1, l2
- | head :: tail ->
- if head < pivot then
- loop tail ( head :: l1 ) l2
- else
- loop tail l1 ( head :: l2 )
- in
- loop l [ ] [ ]
- ;;
- let rec quicksort = function
- | [ ] -> [ ]
- | pivot :: l ->
- let l1, l2 = partition pivot l in
- ( quicksort l1 ) @ ( pivot :: ( quicksort l2 ) )
- ;;
- let rec print_list l =
- match l with
- | [ ] -> ( )
- | head :: tail -> begin
- print_int head;
- print_newline ( );
- print_list tail
- end
- ;;
- let l = [ 2;3;2; 32;3464;234;234;5;45;63;2 ] in
- print_list ( quicksort l );;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement