`
cakin24
  • 浏览: 1384036 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Scala实现快速排序

阅读更多

代码

  1. scala>:paste
  2. //Entering paste mode (ctrl-D to finish)
  3. def qSort(a:List[Int]):List[Int]=
  4. if(a.length<2) a
  5. else
  6. qSort(a.filter(_<a.head))++
  7. a.filter(_ == a.head)++
  8. qSort(a.filter(_>a.head))
  9. //Exiting paste mode, now interpreting.
  10. qSort:(a:List[Int])List[Int]
  11. scala> qSort(List(3,1,2))
  12. res47:List[Int]=List(1,2,3)
  13. scala> qSort(List(3,8,5,31,1,2))
  14. res48:List[Int]=List(1,2,3,5,8,31)
分享到:
评论

相关推荐

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

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

    scala版DVD管理系统

    4. **高阶函数**:Scala的高阶函数使得可以将函数作为参数传递,这在实现通用操作如排序、过滤或映射DVD列表时非常有用。 5. ** Trait **:Scala的Trait类似于Java的接口,但可以包含实现。可能定义了`DvdManager` ...

    scala-sorts:scala中的排序算法

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

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

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

    Scala数据结构和算法.docx

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

    响应式架构++消息模式Actor实现与Scala.Akka应用集成+,沃恩·弗农+

    响应式架构是一种设计思想,旨在构建能够快速适应变化的系统,包括处理来自用户或环境的事件,以及在资源有限的情况下保持高效性能。这种架构风格强调响应能力、弹性、容错性和资源意识,常用于分布式系统和实时应用...

    Data Structures and Algorithms with Scala

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

    手写程序(scala).docx

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

    Spark常用的算子以及Scala函数总结.pdf

    了解 Scala 是学习 Spark 的一大优势,因为 Spark 中的许多高级功能和 API 都是用 Scala 实现的,因此使用 Scala 访问这些功能和 API 会更加简单。 在 Spark 中,数据以弹性分布式数据集(RDD)的形式存在,RDD 是 ...

    Scala编程详解 第9讲-Scala编程详解:数组操作之Array、ArrayBuffer以及遍历数组 共7页.pptx

    例如,数组元素求和可以使用`sum`方法,最大值通过`max`获取,快速排序可以借助`scala.util.Sorting.quickSort`,而将数组转换为字符串可以用`mkString`,如: ```scala val a = Array(1, 2, 3, 4, 5) val sum = a....

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

    Scala实现时,可以利用`minBy`函数辅助完成。 3. 插入排序(Insertion Sort) 插入排序将元素插入到已排序部分的适当位置,确保序列保持有序。Scala版本可以采用双指针技巧,一个指向待插入元素,另一个遍历已排序...

    Scala 高级编程及实例

    这一部分将帮助初学者快速上手Scala,并通过实践加深理解。 #### 三、使用Actor与消息进行编程 本章节介绍了如何利用Actor模型来进行并发编程。Actor是一种用于构建高度可伸缩和容错系统的方法,它基于消息传递来...

    Algorithm-algorithms-scala.zip

    "Algorithm-algorithms-scala.zip" 是一个包含Scala实现的数据结构和算法的压缩包,对于学习和理解如何在Scala中应用算法有极大的帮助。 首先,我们来探讨数据结构。数据结构是组织和存储数据的方式,它对算法的...

    Scala-简易详解文章

    22. **集合**:Scala的集合库分为上层接口(如`Seq`、`Set`、`Map`)和下层实现(如`ArrayBuffer`、`HashSet`、`HashMap`),提供了丰富的函数式操作。 以上是对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 回购的主要分支具有主要功能,该功能运行各种

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

    `solr-scala-client`是Solr客户端的一种实现,专门针对Scala编程语言进行了优化。它封装了与Solr服务器通信的细节,提供了更符合Scala语法规则的API,使开发人员能够更高效地操作Solr索引。该库通常包括以下功能: ...

    大数据技术实践——Spark词频统计

    3. **编写SparkWordCount**:使用Scala在IDEA中编写Spark程序,实现词频统计功能。 4. **执行与分析**:在spark-shell中运行程序,观察执行过程,理解Spark如何处理数据。 **五、数据集说明** 本实践使用的数据集是...

    scala-prioritymap:Scala的不可变优先级映射

    而优先级映射则在此基础上增加了键值对的概念,允许我们在查询时不仅按照优先级排序,还能通过键来快速访问特定的值。 **不可变性**:在Scala中,不可变数据结构意味着一旦创建,就不能修改其内容。这在函数式编程...

    Algorithm-scalgos.zip

    1. 排序算法:如快速排序(QuickSort)、归并排序(MergeSort)和堆排序(HeapSort)。这些排序算法在Scala中可以通过函数式编程的方式实现,例如使用`foldLeft`或`foldRight`来构建排序过程。 2. 查找算法:包括...

Global site tag (gtag.js) - Google Analytics