Scratch四级:第08讲 排序算法

第08讲 排序算法

教练:老马的程序人生
微信:ProgrammingAssistant
博客:https://lsgogroup.blog.csdn.net/


讲课目录

  • 常考的排序算法
  • 项目制作:“三个数排序”
  • 项目制作:“成绩查询”
  • 项目制作:“排序”
  • 项目制作:“森林运动会”

排序算法

  • 计算机学会(GESP)中属于四级的内容

  • 电子学会(CIE)中属于四级的内容


排序算法

  • 交换排序(冒泡排序)
  • 插入排序
  • 选择排序

排序算法:交换排序

思路:通过相邻记录之间的比较和交换

  • 使关键字较小的记录如气泡一般逐渐向上漂移直至水面。
  • 使关键字较大的记录如重物一般逐渐向下沉降直至水底。

例如:对以下这组数字由小到大排序。

45 , 78 , 12 , 34 , 32 45,78,12,34,32 45,78,12,34,32


真题练习

01:随机生成5个数字存储到列表中,下面哪个选项可以实现列表中的数字从小到大排列?( )


  • A.


  • B.


  • C.


  • D.

在这里插入图片描述

  • 参考答案:A
  • 试题解析:C,D通过中间变量交换数据错误,由于是由小到大排序,第一趟需要把最大的数据放到最后面。选择A。

真题练习

02:使用冒泡排序法对 5, 2, 6, 3, 8 进行升序排列,则第一趟排序的结果为?( )

  • A. 2, 5, 3, 6, 8
  • B. 2, 5, 6, 3, 8
  • C. 2, 3, 6, 5, 8
  • D. 2, 3, 5, 6, 8
  • 参考答案:A
  • 试题解析:冒泡排,5 > 2交换,5 < 6 不交换,6 > 3 交换,6 < 8不交换。第一趟排序之后的序列2、5、3、6、8选择A。

真题练习

03:使用冒泡排序算法对数据:32、40、21、46、69,进行从小到大排序,第一轮排序的结果是?( )

  • A. 32、40、21、46、69
  • B. 40、32、21、46、69
  • C. 21、32、40、46、69
  • D. 32、21、40、46、69
  • 参考答案:D
  • 试题解析:冒泡排,32 < 40不交换,40 > 21 交换,40 < 46 不交换,46 < 69 不交换。第一趟排序之后的序列32、21、40、46、69,选择D。

排序算法:插入排序

思路:将一个记录插入到已经排好序的有序表中,从而得到一个新的记录增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。

例如:对以下这组数字由小到大排序。

45 , 78 , 12 , 34 , 32 45,78,12,34,32 45,78,12,34,32


排序算法:选择排序

思路:在要排列的一组数( n n n个)中,选出最小的一个数与第1个位置的数交换;然后在剩下的数当中再找最小的与第2个位置的数交换,依次类推,直到第个 n − 1 n-1 n1元素和第个 n n n元素比较为止。

例如:对以下这组数字由小到大排序。

45 , 78 , 12 , 34 , 32 45,78,12,34,32 45,78,12,34,32


真题练习

04:对存有8个元素的列表 [49, 38, 65, 97, 76, 13, 27, 50] 按从小到大的顺序进行排序,选择排序第一趟的排序结果是?( )

  • A.[13,38,65,97,76,49,27,50]
  • B.[13,27,38,49,50,65,76,97]
  • C.[97,76,65,50,49,38,27,13]
  • D.[13,38,65,50,76,49,27,97]
  • 参考答案:A
  • 试题解析:选出最小的13和第一个位置上的49交换位置。第一趟排序之后的序列为[13,38,65,97,76,49,27,50],选择A。

项目制作:“三个数排序”

2022.09 编程题 三个数排序(利用交换排序

输入三个数,比较三个数的大小,并将这三个数按照从小到大的顺序说出。


1. 准备工作

(1)保留小猫角色,默认位置;

(2)白色背景。


2. 功能实现

(1)依次询问输入三个数;




(2)按下空格键,小猫从小到大说出三个数,三个数之间用逗号隔开。


3. 评分标准

(1)使用询问并等待输入三个数;(3分)

(2)按下空格键后,小猫能够按照从小到大的顺序说出三个数(10分),格式为“X,Y,Z”(2分)。


项目制作:“成绩查询”

2022.06 编程题 成绩查询(利用交换排序

期末考试结束了,小朋友想知道自己考试的成绩和班级排名,让我们一起来实现这个功能吧!


1. 准备工作

(1)保留默认白色背景和小猫角色;

(2)创建名为“姓名”和“成绩”的列表,按照图1输入相关内容。

图1


2. 功能实现

(1)点击小绿旗,小猫询问“你要查询谁的成绩?”

(2)如果输入的姓名没在“姓名”列表中,小猫说“此姓名无效!”2秒,如图2,程序结束;

图2


(3)如果输入的姓名在“姓名”列表中,小猫可以根据给定的姓名,查询出对应的成绩,如图3;

图3


(4)对成绩进行降序排列,并说出该成绩的序号(名次),如图4。

图4


3. 评分标准

(1)正确创建列表“姓名”和“成绩”(1分),只要多于三个姓名和成绩即可,不一定跟题目数据一致(1分);

(2)小猫询问,能够判断姓名不在列表中情况;(3分)

(3)姓名在列表中,说出成绩;(4分)

(4)对成绩列表进行降序排列,需要有降序排序的过程;(4分)

(5)让小猫说出该成绩在“成绩”列表的序号。(2分)


项目制作:“排序”

2019.12 编程题 排序(利用插入排序


1. 准备工作

(1)选择空白背景;

(2)保留小猫角色。

2. 功能实现

(1)制作一个新的积木,文字标签为“排序”,添加三个输入项,以便于输入三个待排序的数字;

(2)在自定义积木的三个输入框中,输入任意三个数字,点击绿旗。

(3)名称为“排序”的列表中,将按照从大到小的顺序排列。


项目制作:“森林运动会”

2021.12 编程题 森林运动会(利用插入排序

在森林运动会中,小猫、小狗、小兔子、乌龟、小猴子参加了800米耐力跑项目,分别耗时3分25秒、4分15秒、3分45秒、4分45秒、4分5秒。请设计程序实现自动排名。


排序前


排序后


1. 准备工作

(1)保留小猫角色及空白背景;

2. 功能实现

(1)建立名为“耐力跑”的列表,用于记录运动员的成绩,以秒为单位;

(2)点击绿旗,初始化列表,依次往列表中加入:205,255,225,285,245;

(3)点击小猫,对运动员的成绩进行降序排列。


3. 评分标准

(1)初始化列表,删除所有项后,加入成绩;(2分)

(2)点击小猫后,排序降序排列正确;(5分)

(3)正确删除、替换链表中的数据;(2分)

(4)正确使用循环的嵌套;(1分)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/11179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机智能灯控制系统源程序仿真原理图与论文全套资料

目录 1、设计描述 2、仿真图 3、程序 4、资料内容 资料下载地址&#xff1a;单片机智能灯控制系统源程序仿真原理图与论文全套资料下载 1、设计描述 设计了一款智能控制系统。 AT89C51LCD1602DS1302按键LED组成了这样一个完整的设计。 P2.0-P2.3 4个LED等代表庭院内的4…

架构设计之学新而知故

缘由 因为一些特殊的机缘&#xff0c;接触到洋葱架构等一些新架构设计概念。 尝试理解了一段时间&#xff0c;就想简单梳理下对它们的理解&#xff0c;以达到学新而知故 &#x1f603; 信息增益 以前计算机专业并不设置通信领域的信息论的专业课程&#xff0c;但是&#xf…

英语复习之英语形近词总结(四)

英语形近词总结复习第四部分&#xff1a; 单词 释义例句 genuine 英 /ˈdʒenjuɪn/ 美 /ˈdʒenjuɪn/ adj.真实的&#xff0c;真正的&#xff1b;诚恳的 1.Only genuine refugees can apply for asylum. 只有真正的难民才能申请政治避难。 《牛津词典》 2.This isnt a genui…

C++笔试强训day19

目录 1.小易的升级之路 2.礼物的最大价值 3.对称之美 1.小易的升级之路 链接 模拟就行&#xff0c;唯一可能是难点得就是gcd&#xff08;最大公约数&#xff09; #include <iostream> using namespace std; #define int long long const int N 1e5 10; int arr[N];…

利用IP地址查询解决被“薅羊毛”的方法

在互联网时代&#xff0c;随着各种网络诈骗手段的不断更新和演变&#xff0c;“薅羊毛”成为了一种常见的网络犯罪行为。其中&#xff0c;利用查询IP地址进行欺诈活动已经成为一种普遍的手段。当个人或组织的IP地址被不法分子查询后&#xff0c;可能会面临虚假注册、盗取个人信…

AVL Cruise与Simulink联合仿真(通过MATLAB DLL方式)

最近毕业设计需要用到AVL Cruise与Simulink进行联合仿真&#xff0c;分析汽车模型的经济性。下面介绍一下我所知的AVL Cruise与Simulink联合仿真的几种方式&#xff0c;它们各自的优缺点&#xff0c;以及DLL方式联合仿真的具体配置过程。我这里用的MATLAB软件版本是2021a&#…

有边数限制的最短路

文章目录 题目 有边数限制的最短路算法分析1、问题&#xff1a;为什么Dijkstra不能使用在含负权的图中&#xff1f;dijkstra详细步骤2、什么是bellman - ford算法&#xff1f;3、bellman - ford算法的具体步骤4、在下面代码中&#xff0c;是否能到达n号点的判断中需要进行if(di…

水准网间接平差

目录 一、原理概述二、案例分析三、代码实现 一、原理概述 间接平差的函数模型和随机模型为&#xff1a; L ^ B X ^ d D σ 0 2 Q σ 0 2 P − 1 \hat{L}B\hat{X}d\\ D\sigma_0^2Q\sigma_0^2P^{-1} L^BX^dDσ02​Qσ02​P−1 误差方程为&#xff1a; V B x ^ − l VB\ha…

信息系统项目管理师0104:详细可行性研究(7项目立项管理—7.2项目可行性研究—7.2.3详细可行性研究)

点击查看专栏目录 文章目录 7.2.3详细可行性研究1.详细可行性研究的依据2.详细可行性研究的原则3.详细可行性研究的方法4.详细可行性研究的内容5.详细可行性研究报告记忆要点总结7.2.3详细可行性研究 详细可行性研究是在项目决策前对与项目有关的技术、经济、

智慧公厕:打造智能、安全、舒适的公共厕所新时代

随着智慧城市建设的不断推进&#xff0c;公共设施的智能化也已成为一种必然趋势。在这一背景下&#xff0c;智慧公厕作为城市管理的一个重要方面&#xff0c;正逐渐走进人们的视野。通过对所在辖区内所有公共厕所的全域感知、全网协同、全业务融合以及全场景智慧的赋能&#xf…

如何训练一个大模型:LoRA篇

目录 写在前面 一、LoRA算法原理 1.设计思想 2.具体实现 二、peft库 三、完整的训练代码 四、总结 写在前面 现在有很多开源的大模型&#xff0c;他们一般都是通用的&#xff0c;这就意味着这些开源大模型在特定任务上可能力不从心。为了适应我们的下游任务&#xff0c;…

【退役之重学 Java】初步认识 AQS

一、AQS 是什么 Abstract Queued Synchronizer &#xff0c;翻译过来就是“抽象的排好队的同步器”。 AQS 是一个用来构建锁和同步器的框架。是用来构建锁或者其他同步器组件的重量级基础框架及整个JUC体系的基石&#xff0c;通过内置的FIFO队列来完成线程获取资源的排队工作&…

251 基于matlab的动态粒子群算法

基于matlab的动态粒子群算法。普通粒子群算法无法感知外界环境的变化&#xff0c;在外界环境发生改变时无法实时进行响应&#xff0c;因而缺乏动态环境寻优能力。在普通粒子群算法基本上通过增加敏感粒子得到一种动态粒子群算法&#xff0c;该算法通过实时计算敏感粒子的适应度…

2024年第七届可再生能源与电力工程国际会议(REPE 2024)即将召开!

2024年第七届可再生能源与电力工程国际会议&#xff08;REPE 2024&#xff09;将于2024年9月25-27日在中国北京召开, 由清华大学主办。REPE 2024将汇聚国内外知名专家学者通过主旨报告、分组讨论和互动交流等形式&#xff0c;分享最新的研究成果、技术进展和应用案例&#xff0…

【教程向】从零开始创建浏览器插件(二)深入理解 Chrome 扩展的 manifest.json 配置文件

第二步&#xff1a;深入理解 Chrome 扩展的 manifest.json 配置文件 上一次我们已经着手完成了一个自己的浏览器插件&#xff0c;链接在这里&#xff1a;我是链接 在本篇博客中&#xff0c;我们将更详细地探讨 Chrome 扩展中的 manifest.json 文件。这个文件是每个浏览器扩展…

docker容器实现https访问

前言&#xff1a; 【云原生】docker容器实现https访问_docker ssl访问-CSDN博客 一术语介绍 ①key 私钥 明文--自己生成&#xff08;genrsa &#xff09; ②csr 公钥 由私钥生成 ③crt 证书 公钥 签名&#xff08;自签名或者由CA签名&#xff09; ④证书&#xf…

C入门笔记

1. c文件执行过程 C语言程序的执行过程可以分为四个基本步骤&#xff1a;预处理、编译、汇编和链接。下面是这些步骤的简要概述&#xff1a; 预处理&#xff1a;在这个步骤中&#xff0c;预处理器将源代码中以 # 开头的指令进行处理&#xff0c;例如 #include 和 #define。预…

STM32快速入门(定时器之输出PWM波形)

STM32快速入门&#xff08;定时器之输出PWM波形&#xff09; 前言 本节主要讲解STM32利用通用定时器&#xff0c;利用CCR和CNT寄存器&#xff0c;输出指定占空比和频率的PWM波形。其功能的应用有&#xff1a;实现LED呼吸灯的效果、控制步进电机、控制直流电机转速等。 导航 …

ue5地编模块学习记录

ue5网站功能3d溜溜网下载模型https://anyconv.com/max-to-fbx-converter/3dmax转换fbx模型解决问题记录 一、光源 搜索光源搜索不到的时候可以点击 窗口> 对场景内的光照进行处理

最佳解决Maven同一依赖多版本共存问题,重复依赖(同一个jar包,多个版本)-maven-shade-plugin

先看链接:原文链接 参照原文链接生成的文件(下面是我放的位置) mvn指令 mvn install:install-file -DfileD:\mavenrepository/maven-shade.jar -DgroupIdcom.wj -DartifactIdmaven-shade -Dversion1.1 -Dpackagingjar如果配置了maven_home 和java_home可以任意打开cmd执行(…