zoukankan      html  css  js  c++  java
  • Scala写排序可以说是简洁又明了

    例如归并排序,清晰明了。

    object MergeSort extends App {
        val oldList = List[Int](124026897544326518)
        val list = mergeSort(oldList)
        println(list)
        def mergeSort(list:List[Int]):List[Int]={
           val n=list.size/2
           if(n==0)list
           else{
               val (xs,ys)=list.splitAt(n);
               merge(mergeSort(xs),mergeSort(ys))
           }
        }
        def merge(xs:List[Int],ys:List[Int]):List[Int]={
           (xs,ys) match{
             case (_,Nil) =>xs
             case (Nil,_=>ys
             case (x::list1,y::list2)=> {
               if(x>y) y::merge(list2,xs)
               else x::merge(list1,ys)
             }
          }
        }
     

    快速排序

    def quickSort(xs: Array[Int]): Array[Int] = {
      if(xs.length <= 1) xs
      else{
        val pivot = xs(xs.length / 2)
        Array.concat(    //合并
          quickSort(xs filter (pivot >)),
          xs filter (pivot ==),
          quickSort(xs filter (pivot <))
        )
      }
    }

  • 相关阅读:
    JPA与Hibernate的关系
    EJB里的问题解答
    EJB与JPA的关系
    EJB的魅惑来源
    EJB简介
    MyEclipse如何恢复删掉的文件
    EasyUI的功能树之扁平化
    EasyUI的功能树之异步树
    Spring AOP的日志记录
    简单理解IoC与DI
  • 原文地址:https://www.cnblogs.com/nethk/p/5609378.html
Copyright © 2011-2022 走看看