【JavaScript算法】---插入排序
2024-08-25 08:07:27
一、什么叫做插入排序法
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法
二、核心
插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序。 插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中
插入排序的原理其实很好理解,可以类比选择排序。选择排序时在两个空间进行,等于说每次从旧的空间选出最值放到新的空间,而插入排序则是在同一空间进行
三、思路
从第二位数字开始,每一个数字都试图跟它的前一个比较并做交换,并重复这个动作。直到前一个数字不存在或比它小或者相等的时候停下来
四、代码
var arr = [19,3,22,7,55,9,3,8]
var temp;
for(var i=1;i<arr.length;i++){
var index = i;
while(index-1>=0 && arr[index - 1] >arr[index]){
[arr[index],arr[index - 1]] = [arr[index - 1],arr[index]] index--
}
} for(var i=1;i<arr.length;i++){
var index = i;
while(index-1>=0 && arr[index - 1] >arr[index]){
temp = arr[index];
arr[index] = arr[index-1];
arr[index-1] = temp; index--
}
}
最新文章
- [python]设计模式
- AWS CloudFormation Template
- Node.js入门:包结构
- Context的使用(转)
- 使用paramiko进行打包操作
- POJ1423 - Big Number(Stirling公式)
- Android调用系统相机和文件浏览器
- 初学者学Java设计模式(一)------单例设计模式
- 免费UI框架推荐--Charisma UI
- EFCore数据库迁移命令整理
- jQuery系列 第七章 jQuery框架DOM操作
- Oracle 常用Sql 语句
- C# Linq to Entity 多条件 OR查询
- 【转】jQuery 的 ajax 方法,返回结果 readyState=4 并且 status=200 时,还进 error 方法
- [Localization] MobileNet with SSD
- 安装python3.7和PyCharm专业版
- c++——引用的使用
- 2012年第三届蓝桥杯Java本科组省赛试题解析
- Codeforces977D ---Divide by three, multiply by two 深搜+map存出现的数
- Uploading File using Ajax and receiving binary data in Asp.net (C#)[转]