scala 选择排序

Scala中的排序算法:冒泡、选择与插入排序 本文通过Scala语言实现的冒泡排序、选择排序和插入排序算法进行了解读。每种排序算法都有其特点和使用场景,通过Scala函数式编程的方式展示了算法的实现和排序过程。同时,文章还分析了每种算法的时间复杂度,为读者提供了算法效率的参考。 阅读详情
/**
  * 工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,
  * 存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,
  * 然后放到已排序序列的末尾
  */
object SeletionSort extends App {
  var list: Array[Int] = Array(2, 45, 1, 4, 8, 2, 5, 8, 35, 67, 3, 9, 3, 8, 4, 7, 34);

  for (i <- 0 until list.length) { //已有i个已经排好序
    var currentMinIndex = i
    for (j <- i until list.length) { //把最小的选出来
      if (list(currentMinIndex) > list(j)) {
        currentMinIndex = j
      }
    }
    if (currentMinIndex != i) { //把学出来最小的放在已排好序的末尾
      var tmp = list(i)
      list(i) = list(currentMinIndex)
      list(currentMinIndex) = tmp
    }

  }
  list.foreach(println)

}

scala-sorts: 探索Scala中的排序算法实战 空间复杂度指的是算法在运行过程中临时占用存储空间的大小。它同样不依赖于具体的硬件环境,是一种算法占用空间资源的度量标准。空间复杂度也通常用大O表示法来表示,如O(1)表示算法占用常数空间,O(n)表示占用线性空间等。Scala语言因其简洁性和表达力,在处理集合和数据流时显得尤为高效。Scala内置了一系列的排序方法,能够满足大多数排序需求。本章节将深入探讨Scala标准库中的排序函数,分析其排序方法的参数和选项,以及如何利用Scala的特性来实现自定义排序规则。 阅读详情

相关推荐

3U 与 SV630A 伺服实现 CANLINK 通讯

SD410这组参数特别重要,这个32位特别重要,是防止数值乱码的关键。

weixin_42714122的博客 2694

选择排序--scala

object SelectSort { def main(args: Array[String]): Unit = { //创建要给30个的随机的数组 val arr = new Array[Int](30) for (i <- 0 until 30) { arr(i) = (Math.random * 800).toInt // 生成一个[0, 800) 数 } System.out.println("排序前") //System.out.p

GabrielCP的博客 252

驯服电源尖峰:从BUCK/BOOST环路剖析到高di/dt噪声的实战抑制

本文深入探讨了电源系统中高di/dt噪声的产生机制及抑制方法,通过BUCK/BOOST电路的环路分析,揭示了电流路径不连续导致的电压尖峰问题。文章提供了实用的PCB布局技巧和噪声抑制策略,包括最短回路原则、铺铜优化和过孔阵列战术,帮助工程师有效降低EMI噪声,提升电源系统的稳定性。

weixin_29587015的博客 274

scala 选择排序

package algorithm import org.apache.hadoop.io.LongWritable.Comparator import scala.collection.mutable.ListBuffer /** * Created by Administrator on 2018/6/19. */ object secSortApp { def main(...

bymain的博客 653

单片机设计具备断电记忆功能的计时器

本文介绍了如何设计一款具备断电记忆功能的计时器,利用单片机和EEPROM存储器实现了计时器值的保存和恢复。当然,在实际的设计中还需要考虑其他因素,如电源管理、时钟精度等,以确保计时器的正常运行和准确性。选择合适的单片机:在设计计时器时,我们需要选择一款具备存储功能的单片机,以便在断电后能够保存计时器的状态。可以优化显示方式,使用更加直观的界面来展示计时器的值;函数中,我们首先从 EEPROM 中读取计时器的初始值,然后在一个无限循环中每秒钟增加计时器的值,并将新的值写入 EEPROM 中。

RlDart的博客 1094

执行任务赚积分

接下来N行,每行两个空格分隔的整数(SLA和V),SLA表示任务的最晚处理时间,V表 示任务对应的积分。每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。第2个时间单位内,处理任务4,获得5个积分。输入描述:第一行为一个数N,表示有N个任务,1

面试高手的博客 4695

Scala练习-选择排序

package day14import day14.StraightInsertionSort.{printlnArray, sortN2}/** * Created by doctorq on 2017/6/28. * 选择排序 */ object SelectionSort extends Utils with App { def sort(unSorted: Array[Int

doctorq 1788

LabVIEW实现HTTP通信

本节简要介绍HTTP通信的基础知识,并以工业物联网平台TLINK中云端设备的数据发布设计为例,阐述互联网环境下HTTP客户端应用程序设计的基本方法。重点讲解工业物联网平台TLINK中HTTP设备的创建、通信数据帧的构造与测试。

不脱发的程序猿 1546

用scala实现冒泡和选择排序

scala实现冒泡排序和选择排序 class sort{ def BubbleSort(arr: Array[Int]): Unit = { for (i <- 0 until arr.length-1) //总共运行n-1趟 { for (j <- 0 until arr.length-1-i) //一趟的比较次数,每轮减少一次 { if(arr(j+1)<arr(j)) {

stan1111的博客 852

Python 爬虫实战:Twitter 数据定向抓取(特定话题 + 用户推文爬取与分析)

在社交媒体研究、舆情监测和市场分析等领域,Twitter 数据具有极高的价值。本文将详细介绍如何使用 Python 构建一个完整的 Twitter 数据爬取系统,包括特定话题和用户推文的爬取与分析。我们将涵盖从认证到数据存储、清洗、分析和可视化的全流程。

u014481728的博客 1038

ArcGIS Pro符号化教程

本文详细介绍了ArcGIS Pro的软件设置和符号化操作步骤。主要包括:1)设置默认工程目录和关闭地图自动加载;2)创建新工程的基本流程;3)点要素的单一符号化方法,包括样式修改和图层调整;4)图表符号显示过滤器的使用,涉及字段添加、图表类型选择和背景设置。文章还提供了操作截图和数据下载链接,适合GIS初学者学习ArcGIS Pro的基础符号化操作。

WwLK123的博客 549

选择排序的scala实现

最近在微信读书上翻到一本不错的算法书,叫算法图解,里面比较趣味性的讲解了计算成本,从二分查找开始,到选择排序、快速排序等等,书里面的算法实现都是通过python来实现的,因此,考虑用scala对相关算法进行实现,在了解算法的同时能够练练自己的代码能力,话不多说,直接上代码: 选择排序的最基础原理就是从一个数组中先找出一个最大(或者最小)的数字,放入到新数组的第一位,再从剩下的数组中找出最大的数字...

lorrylee1346的博客 365

Open3D 读取、保存、显示点云【2025最新版】

paint_uniform_color给所有的点上一个统一的颜色。博客长期更新,本文最近更新时间为:2025年1月1日。

点云侠的博客 37万+

scala选择排序

package com.aura.scala.test /* scala的选择排序的实现 */ object XuanZhesort { def main(args: Array[String]): Unit = { //定义数组 var array=Array(1,4,3,6,2,8,3,3) //排序前进行输出数组 println(array.mkString("[",",","]")) //...

weixin_44701192的博客 269

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

用java和scala代码实现快速排序、选择排序、冒泡排序

目录排序方法代码java实现排序生成随机数组冒泡排序选择排序快速排序测试Scala排序生成随机数组冒泡排序选择排序快速排序 排序方法代码 java实现排序 生成随机数组 public static int[] arr; // 生成随机数组 public static int[] getRandomArr(int size) { arr = new int[size]; Random random = new Random(); for (in

GodXuzzZ的博客 345

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

scala 排序算法 简单选择算法

package com.xing.hai /** * Created by xxxxx on 2/22/2017. * 简单选择排序 * 核心逻辑 * 在要排序的一组数中,选出最小的一个数与第一个位置的数交换; * 然后在剩下的数当中再找最小的与第二个位置的数交换, * 如此循环到倒数第二个数和最后一个数比较为止。 */ ...

78

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java和scala版本的冒泡排序、快速排序、归并排序、选择排序、插入排序

1.冒泡排序 ① java版本的冒泡排序 import java.util.Arrays; //冒泡排序 public class BubbleSort { /** * 冒泡排序 * @param arr 要排序的数组 */ public static void bubbleSort(int[] arr) { int tmp;/...

程序猿丶HLK 432

选择排序(OC/java/python/scala)

一、浅谈数组和链表 数组:具有相同类型的元素的集合。数组分配在一块连续的数据空间上,因此存储效率低,插入和删除元素效率低,支持随机访问,访问元素效率高。 链表(单向链表、双向链表、循环链表):链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。插入,删除效率高,空间利用率高,不支持随机访问,查找元素效率低复制代码二、 选择排序介绍: 1.方案一:...

weixin_34355881的博客 137

scala 选择排序 冒泡排序

def xuanze(a: Array[Int]) {     var j: Int = 0;     var i: Int = 0;     var index = 0;     var aLen = a.length -1 ;       for (i     for(j      if (a(j) > a(index))         index = j ;    

只为曾经的执着 860

scala实现冒泡排序、插入排序、选择排序、快速排序、归并排序

冒泡排序 def bubbleSort(array: Array[Int]):Unit={ var swap = true//设置swap值,如果没有发生交换则证明已经有序,不必再继续循环 var temp = 0 for(i <- 0 until array.length if swap == true){ swap = false for(j<- 0 until array.length-i-1){//注意这里的判断条件 i.

qq_38748148的博客 494

Java(Scala)排序总结(选择|冒泡|插入|快速|归并)

Java版本 package sort; import java.util.Arrays; /** * @ClassName: Sort * @Description: * @Author: xuezhouyi * @Version: V1.0 **/ public class Sort { public static void main(String[] args) { ...

一名假的程序猿 323

scala实现简单排序

使用scala实现冒泡、选择、插入排序

a805814077的博客 1358

Scala语言的排序算法

内部排序:所有待排序数据都可以放入内存中,算法在内存中进行排序。外部排序:数据量较大,无法全部放入内存,需要借助外部存储设备进行排序。稳定排序:相等元素的相对次序在排序后仍然保持不变。不稳定排序:相等元素的相对次序可能会改变。在讨论具体的排序算法之前,我们先了解一下 Scala 中的常用集合类型。Scala 提供了丰富的集合库,包括ListArraySetMap等,这些集合类型在排序时具有各自的特点。排序算法在计算机科学中具有重要的意义,理解并掌握不同的排序算法对于开发高效的程序至关重要。

2501_91390782的博客 415
上一篇: scala 冒泡排序
下一篇: Java用SWT内嵌浏览器Browser对象使用JQuery等Web插件
BMS上位机
博客等级 码龄12年 277粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值