本文给出了一个例子来描述基于JavaScript的插入排序算法。分享给大家参考,如下:
根据排序过程中使用的内存不同,排序方法可以分为内部排序和外部排序两类。
内部排序是指要排序的记录存储在计算机随机存取存储器中的排序过程。外部排序是指需要排序的记录数量大到内存无法一次容纳所有记录,在排序过程中需要访问外部内存的排序过程。
以下是一些常见的内部排序方法:
插入排序
插入排序是最简单的排序方法,其基本操作是将一条记录插入到排序后的有序表中,从而得到一个记录数增加1的新的有序表。
插入排序中有两个循环。外部循环逐个移动数组元素,而内部循环将外部循环中的选定元素与其后的元素进行比较。如果外环中的选定元素很小,数组元素将向右移动,为内环中的该元素腾出空间。
下面我们通过js实现直接插入排序过程:
!doctype HTML HTML Head metachartset=' UTF-8 ' Title JavaScript Insert Sort/Title/Head Body Script Type=' Text/JavaScript '函数Insert Sort(nums){//Insert Sort var temp,innerfor(var outer=1;外部长度;Outer ){//外循环选择元素temp=nums[outer];//选择元素inner=outerwhile(inner 0(nums[inner-1]=temp)){//内部循环和选定元素nums[inner]=nums[inner-1]之间的比较;//如果所选元素前面的元素较大,则前面的元素向右内侧移动-;//依次比较} nums[inner]=temp;//直到找到正确的位置}}函数show(nums){//显示数组for(var I=0;分钟长度;I){ document . write(nums[I]' ');} document . write(' br ');} var nums=[6,10,0,6,5,8,7,4,2,7];show(nums);//6 10 0 6 5 8 7 4 2 7 insertSort(nums);show(nums);//0 2 4 5 6 7 8 10/脚本/正文/html排序过程如下:
可以看出,插入排序并不贯穿数据交换,而是将较大的数组元素向右移动,为数组左侧较小的元素腾出空间。并且其时间复杂度为O(n2)。
更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、0103010。
希望本文对JavaScript编程有所帮助。