Scratch插入排序算法_第1页
Scratch插入排序算法_第2页
Scratch插入排序算法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Scratch插入排序算法作者:陈新龙来源:电脑报2021年第43期排序算法是编程考试中最常见的题目几乎所有的笔试和面试都会考到,因为它体现的就是程序员的算法基础和逻辑思维能力,经常看电脑报的读者们都知道,我们已经讲了多种排序算法比如冒泡排序、选择排序、桶排序那么大家有没有思考一个问题:为什么有那么多种的排序算法呢?首先是因为排序的思路是具有多样性的,从不同的角度解决排序问题,就会产生不同的排序方法。另外,不同的排序算法各有优势和劣势,当数据规模不同时,可以选择合适的排序算法。今天就和大家分享一个新的排序算法“插入排序”,插入排序分为前插序和后插序,它的基本思想是将数组的第一个数认为是有序数组

2、,从后往前或者从前往后扫描该有序数组,把数组中剩余n-1个数,根据数值大小,有序插入到前面序列中,直至数组所有数有序排列为止。这样的话,n个元素只需要进行n-1趟排序,比多数排序算法的效率更高。待持元崔序列15327136156942朗一次擇序*(27)厂(Z75336156942第一次样存:(36)27厂3653115|6942第二a:押序土(53)1(15273653|69142第四S1527365316942第五次n序:(42)152726r425369例如有一组数列为【53、27、36、15、69、42】。首先对于待排序数组中第一个元素53认定为有序元素,所以排序从第二个元素27开始。

3、第一次排序时从有序数列中查找27插入的位置。27小于53应插入在53之前,此时将27提取出来后,将53后移,将27放入原53点位置,便完成了第一次排序。第二次排序的时候从有序序列中找36的插入位置。36小于53,大于27,36的插入位置在27与53之间。此时将36提取出来后,将53后移,再将36放入原53所在位置,便完成了第二次的排序。剩余的数字15、69、42的排序过程相同,找到合适的位置通过移动、插入的方法完成排序。最终的排序数列结果为【15、27、36、42、53、69】总计五次排序。了解了插入排序的运行过程和思路后,我们可以尝试着用Scratch将代码拼搭出来。首先新建两个列表用于存放

4、原始数列和排序后的数列,开始时将序列中所有的内容全部清空。通过重复执行的方法,将1-50之间的随机数添加入原数列列表中(随机数的范围和重复执行的次数可自定义)。其次新建“处理中”和“已排序”两个关键变量。由于插入排序是从第二项开始,所以变量“处理中”表示需要插入排序的数列的序列位置。变量已排序”代表数列中已经完成排序的数列组从第一项开始的,一直重复执行直到处理中的项数大于数列项数的总和便可跳出循环。在循环中,将需要处理的数和已排序数列中的数字进行比较大小,通过比较大小将处理中的數字插入到合适的位置。处理中的数排在已排序数列的下一个数字,同时处理中的数字跟随着循环每次加一,直至循环数列末尾,排序结束。插入排序的优点就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论