fix dedup tr version
This commit is contained in:
3 files changed
+6
-5
No files matched your search
+5
-4
@@ -117,7 +117,8 @@ let test_dedup () =
|
|||||||
assert (dedup [] = []);
|
assert (dedup [] = []);
|
||||||
assert (dedup [1] = [1]);
|
assert (dedup [1] = [1]);
|
||||||
assert (dedup [1; 2] = [1; 2]);
|
assert (dedup [1; 2] = [1; 2]);
|
||||||
assert (dedup [1; 1; 2; 2; 2; 1; 3; 3; 2] = [1; 2; 1; 3; 2])
|
assert (dedup [1; 1; 2; 2; 2; 1; 3; 3; 2] = [1; 2; 1; 3; 2]);
|
||||||
|
assert (dedup [1; 1; 2; 2; 2; 1; 3; 3; 2; 4] = [1; 2; 1; 3; 2; 4])
|
||||||
(**/**)
|
(**/**)
|
||||||
|
|
||||||
(** [dedup l] takes in a list [l] and collapses consecutive duplicated
|
(** [dedup l] takes in a list [l] and collapses consecutive duplicated
|
||||||
@@ -126,10 +127,10 @@ let dedup_tr l =
|
|||||||
let rec dedup' acc l =
|
let rec dedup' acc l =
|
||||||
match l with
|
match l with
|
||||||
| [] -> acc
|
| [] -> acc
|
||||||
| [x] -> l
|
| [x] -> reverse_tr (x :: acc)
|
||||||
| x :: y :: zs ->
|
| x :: y :: zs ->
|
||||||
if x = y then dedup' (x :: acc) (x :: zs)
|
if x = y then dedup' acc (x :: zs)
|
||||||
else x :: dedup' (x :: acc) (y :: zs)
|
else dedup' (x :: acc) (y :: zs)
|
||||||
in
|
in
|
||||||
dedup' [] l;;
|
dedup' [] l;;
|
||||||
|
|
||||||
|
|||||||
BIN
Binary file not shown.
+1
-1
@@ -125,6 +125,6 @@ let () =
|
|||||||
|
|
||||||
auto_synchronize false;
|
auto_synchronize false;
|
||||||
|
|
||||||
spin_cube 0.;
|
spin_cube 0. 100;
|
||||||
|
|
||||||
close_graph ()
|
close_graph ()
|
||||||
Reference in new issue
Block a user