用F#实现快速排序_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 用F#实现快速排序

用F#实现快速排序

 2010/11/16 11:46:00  gaodansoft  http://gaodansoft.javaeye.com  我要评论(0)
  • 摘要://快速排序openSystemletrecQuickSort(xs:List<int>)=matchxswith|[]->[]|[a]->[a]|(x::xs)->letsmaller=QuickSort(xs|>List.filter(fune->e<=x))letlarger=QuickSort(xs|>List.filter(fune->e>=x))smaller@[x]@largerletdata=[3;2;1
  • 标签:F#快速排序
//快速排序

open System

let rec QuickSort(xs:List<int>) =
    match xs with
    |[]   -> []
    |[a] -> [a]
    |(x::xs) ->
        let smaller= QuickSort(xs |>List.filter(fun e->e<=x))
        let larger = QuickSort(xs |>List.filter(fun e->e>=x))
        smaller @ [x]@ larger

               
let data =[3;2;1;5]
let r= QuickSort data
发表评论
用户名: 匿名