博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入排序
阅读量:5901 次
发布时间:2019-06-19

本文共 786 字,大约阅读时间需要 2 分钟。

插入排序的基本思想:首先选取数组的第一项即a[0],我们可以认为这个数是已经排好序的,再取a[1]项插入到已经排好序的元素中,此时只有a[0],所以我们需要比较a[1]和a[0]的大小。如果a[1]<a[0],则需要把a[1]先用一个临时变量temp保存,a[0]往后挪一位(即a[1]的位置),然后把temp赋值给a[0]。要插入的元素依次为a[1]-a[a.length-1]项,插入每一项时,都需要从后往前遍历已排好序的元素,如果已排好序的元素比要插入的元素大,则把该元素往后挪一位,直到已排好的元素小于等于要插入的元素(或者已经遍历完了已排好序的数组项),则把要插入的元素放入该位置+1的索引中(或者放在数组的第0个位置)。对每个插入项都执行上面的操作,则最后的数组就排好序了。

function insertSort(arr){        var temp=null;//定义一个临时变量保存要插入元素的值        for(var i=1; i
=0){
//如果要插入的元素小于已排好序的元素并且没有到已排好数组的开始位置 arr[p+1]=arr[p];//把大于要插入元素(temp)的已排好序元素位置往后挪一位 p--;//从后往前便利已经排好序的元素 } arr[p+1]=temp;//把要插入的元素插入到已排好序的数组中,索引位置为p+1 } } return arr;//返回已排好序的数组 }

 

转载于:https://www.cnblogs.com/jgwz/p/6477666.html

你可能感兴趣的文章
自定义session扫描器精确控制session销毁时间--学习笔记
查看>>
PHP队列的实现
查看>>
单点登录加验证码例子
查看>>
[T-SQL]从变量与数据类型说起
查看>>
occActiveX - ActiveX with OpenCASCADE
查看>>
BeanUtils\DBUtils
查看>>
python模块--os模块
查看>>
Java 数组在内存中的结构
查看>>
《关爱码农成长计划》第一期报告
查看>>
学习进度表 04
查看>>
谈谈javascript中的prototype与继承
查看>>
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
System.Func<>与System.Action<>
查看>>