Sml firstElement::Middle::LastElement正则表达式

Sml firstElement::Middle::LastElement正则表达式,sml,ml,Sml,Ml,如果我想检查输入,以便立即获取最后一个元素,是否有一种正则表达式形式: 有趣的函数(firstElement::MiddleOfList::LastElement) 因此,我可以获取最后一个元素在列表结构中,似乎有一个最后一个函数用于列表;这就是您需要的吗?您无法通过模式匹配来查找SML列表中的最后一个或中间元素 SML列表是一个链表,这意味着如果要查找元素x,必须首先访问它之前的所有元素 但是,您可以使用库函数以类似以下方式查找中间元素: fun someFunction list =

如果我想检查输入,以便立即获取最后一个元素,是否有一种正则表达式形式:

有趣的函数(firstElement::MiddleOfList::LastElement)


因此,我可以获取最后一个元素在
列表
结构中,似乎有一个
最后一个
函数用于列表;这就是您需要的吗?

您无法通过模式匹配来查找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

但是这会使列表的长度与时间成线性关系,但是没有使用列表的更快速的方法,如果需要持续的时间访问,则应该考虑使用数组。