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 <))
        )
      }
    }

  • 相关阅读:
    面试题48:不能被继承的类
    Scrapy使用问题整理(转载)
    Shell 基础笔记
    python oop面向对象笔记
    python3 logging 日志记录模块
    Github设置
    Django Ajax提交数据请求
    Python常见面试题
    python2 安装scrapy出现错误提示解决办法~
    Windows下安装python2和python3双版本
  • 原文地址:https://www.cnblogs.com/nethk/p/5609378.html
Copyright © 2011-2022 走看看