【发布时间】:2014-07-15 17:12:09
【问题描述】:
我想要一个函数,它接受一个整数列表并返回排序后的列表(从左到右递增)。这必须通过使用这两个函数来完成:
datatype tree=Empty
| Node of int*tree*tree;
fun treeinsert(Empty,k) = Node(k,Empty,Empty)
| treeinsert(T as Node(y,left,right),k) =
if k=y then T
else if k<y then Node(y,treeinsert(left,k),right)
else Node(y,left,treeinsert(right,k));
fun inOrder(Empty) = nil
| inOrder(Node(a,left,right)) =
inOrder(left)@[a]@inOrder(right) ;
所以我做了这个函数,它的问题是总是返回一个空列表。
val y=Empty;
fun treesort(x::xs)=let val y=treeinsert(Empty,x)
in treesort(xs)
end
|treesort []=inOrder(y);
我做错了什么?提前谢谢你..
【问题讨论】:
标签: smlnj