`
jack.zhao829
  • 浏览: 24954 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Scala快速排序代码

阅读更多
object Test {
    def  main(args:Array[String]): Unit ={
      System.out.println(qsort(List(6,3,2,7,4,1)))
    }
  def qsort[T <% Ordered[T]](list:List[T]):List[T]=list match {
    case Nil =>Nil
case x :: xs=>
      val (before,after)=xs partition(_<x)
      qsort(before) ++ (x :: qsort(after))
  }
}

输出结果:
List(1, 2, 3, 4, 6, 7)
分享到:
评论

相关推荐

    Scala实现冒泡排序、归并排序和快速排序的示例代码

    Scala实现冒泡排序、归并排序和快速排序的示例代码 本文主要介绍了Scala实现冒泡排序、归并排序和快速排序的示例代码,这些示例代码可以帮助读者更好地理解这些排序算法的实现细节。 冒泡排序是一种简单的排序算法...

    scala程序员面试算法宝典代码

    - 冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序:这些是常见的排序算法,理解它们的原理和性能至关重要。 - 二分查找:在已排序的数组中查找特定元素,具有O(log n)的时间复杂度。 - 哈希查找:...

    Scala数据结构和算法.docx

    9. **算法实现**:Scala可以实现各种经典算法,如排序(快速排序、归并排序)、查找(二分查找)、图算法(深度优先搜索、广度优先搜索)等。 10. **泛型**:Scala的泛型系统允许创建类型安全的通用代码,能够处理...

    scala-sorts:scala中的排序算法

    5. **快速排序(Quick Sort)**:采用分治策略,选取一个“基准”元素,将数组分为小于和大于基准的两部分,然后对这两部分递归排序。平均时间复杂度为 O(n log n),但最坏情况为 O(n^2)。空间复杂度为 O(log n)。 ...

    scala版DVD管理系统

    9. **类型推断**:Scala的类型推断减少了代码冗余,使得编写代码更加简洁。例如,编译器可以根据上下文自动推断出`DVD`对象的类型。 10. **case class**:为了简化数据表示,`DVD`信息可能被定义为一个case class,...

    Data Structures and Algorithms with Scala

    常见算法包括排序(如冒泡排序、选择排序、快速排序、归并排序等)、搜索(如线性搜索、二分搜索)、图算法(如深度优先搜索、广度优先搜索)、动态规划等。掌握算法能帮助我们编写更高效、更优雅的代码。 本书可能...

    手写程序(scala).docx

    快速排序算法在Scala中的实现 快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以...

    Scala-简易详解文章

    10. **包**:Scala的包系统用于组织代码,避免命名冲突。`import`语句用于引入所需包中的成员。 11. **样例类(Case Classes)**:样例类简化了模式匹配和创建新类的过程,它们自动提供`equals()`、`hashCode()`、`...

    Algorithm-algorithms-scala.zip

    在"algorithms-scala-master"中,可能包含排序算法(如快速排序、归并排序、冒泡排序)、搜索算法(如线性搜索、二分搜索)、图算法(如Dijkstra最短路径算法、Floyd-Warshall算法)、动态规划问题的解决方案、字符...

    solr-scala-client:Scala的Solr客户端

    同时,这个库通常会提供示例代码和文档,帮助你快速上手使用。 总之,`solr-scala-client`为Scala开发者提供了一个便捷、高效的途径来利用Solr的搜索功能,它简化了与Solr服务器的交互过程,使得在Scala项目中集成...

    matlab判断为整数代码-sortingComparison:在Scala,Clojure和Java中实现的不同排序算法,以及时间和样式的比

    快速排序 7 20 10 合并排序 5 27 4 编译java部分 javac Main.java 编译scala部分 scalac Main.scala quicksort/Sort.scala mergesort/Sort.scala bubblesort/Sort.scala 回购的主要分支具有主要功能,该功能运行各种

    scalaprops:Scala的基于属性的测试库

    Scala Native允许开发者将Scala代码编译为原生机器码,而Scala.js则将Scala代码编译为JavaScript。Scalaprops的跨平台支持意味着你可以为这些不同的目标环境编写一致的测试,确保代码在所有平台上的行为一致。 综上...

    scala-algorithms:为了(重新)学习,练习经典排序算法的实现

    快速排序是一种分治策略,通过选取一个基准元素并分区,将数组分为两部分,分别对两部分进行排序。Scala中,递归和尾递归优化是关键。 5. 归并排序(Merge Sort) 归并排序将数组分为两半,分别排序,然后合并。...

    DSA:该存储库包含有关Scala中与数据结构和算法有关的问题的代码示例

    用户可以在这个目录下找到各种类和函数,用于创建、操作和分析数据结构,如数组、链表、栈、队列、树、图等,以及各种排序和搜索算法,如冒泡排序、快速排序、二分查找、哈希表等。 **详细知识点:** 1. **数据...

    实时 AI 编程助手 Amazon CodeWhisperer使用方法

    例如,在编写快速排序函数时,输入 `def quicksort()` 后,使用 Alt+C,CodeWhisperer 就能生成基于递归的快速排序算法代码。 总的来说,Amazon CodeWhisperer 结合了人工智能的智能与开发者的专业知识,通过智能...

    Algorithm-scalacaster.zip

    例如,快速排序、归并排序等经典排序算法,都可以用Scala的函数式风格来实现。 数据结构是存储和组织数据的方式,是算法的基础。Scala提供了一些内置的数据结构,如列表(List)、数组(Array)、链表(LinkedList...

    mechanisms:用于在Scala中进行算法机制设计的沙箱

    10. **编译时与运行时检查**:Scala的静态类型系统如何确保代码的正确性,以及如何利用Scala REPL(Read-Eval-Print Loop)进行快速原型开发。 综上所述,"mechanisms"项目可能是一个为Scala开发者提供的平台,帮助...

    Observatory-scala:分析来自天文台的世界气候数据

    `fastOptJS`是SBT的一个任务,用于快速优化Scala.js编译出的JavaScript代码。这意味着项目包含了一个使用Scala.js编写的前端界面,这允许开发者用熟悉的Scala语法编写JavaScript代码。通过这个界面,用户可以与分析...

    Algorithm-algorithm.zip

    在"algorithm-master"这个子文件夹中,我们可能找到了各种算法的实现代码,包括但不限于经典的排序算法(如快速排序、归并排序)、查找算法(二分查找、哈希查找)、图算法(Dijkstra最短路径算法、Floyd-Warshall全...

Global site tag (gtag.js) - Google Analytics