小编Jim*_*101的帖子

合并排序为f sharp

这是我的代码,当我输入一个非常大的数字我得到堆栈溢出错误有谁知道为什么?当我输入一个非常大的数字我得到了这个错误,我不确定是什么导致它,它只有大数小的工作正常.....

//
// merge two sorted lists into one:
//
let rec merge L1 L2 = 
  if L1 = [] && L2 = [] then
    []
  else if L1 = [] then
    L2
  else if L2 = [] then
    L1
  else if L1.Head <= L2.Head then
    L1.Head :: merge L1.Tail L2
  else
    L2.Head :: merge L1 L2.Tail

//
// mergesort:
//
let rec mergesort L = 
  match L with
 | []    -> []
 | E::[] -> L
 | _     -> …
Run Code Online (Sandbox Code Playgroud)

mergesort f#

3
推荐指数
1
解决办法
1216
查看次数

标签 统计

f# ×1

mergesort ×1