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

本文共 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

你可能感兴趣的文章
Python以太坊区块链交互将数据存入数据库
查看>>
通过简单瘦身,解决Dataworks 10M文件限制问题
查看>>
[译]执行上下文、作用域链和JS内部机制
查看>>
JavaScript Dates 终极指南
查看>>
【跃迁之路】【540天】刻意练习系列299(2018.07.30)
查看>>
在Vmware中安装Ubuntu desktop
查看>>
【Java猫说】构建战舰类控制台游戏
查看>>
ElasticSearch 5.5 DSL搜索
查看>>
【刷算法】一棵树是否是另一棵树的子结构
查看>>
浅谈Angular Cli Schematics
查看>>
前端Websocket的使用
查看>>
golang多进程测试代码
查看>>
MySQL集锦
查看>>
Wannafly挑战赛9
查看>>
栈的实现原理
查看>>
“被集成”与“新制造”
查看>>
NEC与VAQSO公司展开合作,让在线购物也有嗅觉体验
查看>>
tensorflow serving docker
查看>>
获取一个数的各个质数因子
查看>>
继 Flash,Adobe Shockwave 也将完全退出历史舞台
查看>>