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

  • 相关阅读:
    Swift-基础语法之变量&常量&元组
    Swift
    安装MySQL
    LNMP 简介
    LNMP
    Django 定义数据模型
    Django 添加应用
    Django 创建第一个项目
    Django 安装
    Django 简介
  • 原文地址:https://www.cnblogs.com/nethk/p/5609378.html
Copyright © 2011-2022 走看看