3

Ocamlのキューから繰り返される値(つまり重複)を削除するにはどうすればよいですか?

たとえば、これがキューであるとします (ただし、リストの形式で表示されます)。

     [1; 1; 2; 3; 4; 7; 7; 8; 8; 8]

次に、この関数をキューに適用すると、次のようになります。

     [1; 2; 3; 4; 7; 8]

リストの場合の実装:

     let rec deleteDuplicate l = 
        match l with 
         | []                -> [] 
         | x :: []          -> x :: [] 
         | x :: y :: rest -> 
               if x = y then deleteDuplicate (y :: rest) 
               else x :: deleteDuplicate (y :: rest) 
4

1 に答える 1