0

最後の要素をすぐに取得できるように入力を確認したい場合、実行する正規表現の形式はありますか:

fun someFunction (firstElement::MiddleOfList::LastElement)

だから私は最後の要素を得ることができます

4

2 に答える 2

1

SML リストの最後または中間の要素を見つけるためのパターン マッチはできません。

SML リストは連結リストです。つまり、要素 x を見つけたい場合は、まずその前のすべての要素にアクセスする必要があります。

ただし、ライブラリ関数を使用して、次のような方法で中央の要素を見つけることができます。

fun someFunction list = 
   let
      val (first, middle, last) = (hd list, List.nth (list, (length list) div 2), List.last list)
   in
      (* your code here *)
   end

ただし、これにはリストの長さに比例して時間がかかりますが、リストを使用して漸近的に高速な方法はありません。一定時間のアクセスが必要な場合は、配列の使用を検討する必要があります。

于 2011-02-11T15:02:57.520 に答える
1

構造last内のリストの機能があるようです。Listそれはあなたが必要とするものですか?

于 2011-02-10T03:40:21.247 に答える